簡體   English   中英

在Qt中使用std :: tr1 :: normal_distribution

[英]Using std::tr1::normal_distribution in Qt

我想在c ++ 11中使用normal_distribution生成數字。 使用Qt 4.8 MinGW。 我添加了下一行

QMAKE_CXXFLAGS + = - std = c ++ 0x

到我的.pro文件,然后得到下一個錯誤:'swprintf ::'尚未聲明'vswprintf ::'尚未聲明

使用C ++ 11時,TR1確實應該避免使用,因為它的設計符合以前標准的限制。 (此外,所有被認為有用的東西都會被整合到標准中。)

幸運的是,C ++ 11中有一個全面的隨機數生成庫,具有正態分布。

看這里:

http://en.cppreference.com/w/cpp/numeric/random

#include <random>
:::
std::random_device rd;
std::normal_distribution<double> dist(0,99);
std::mt19937 engine(rd());
double a=dist(engine);

你看到的確切錯誤,好像TR1的特定實現無論如何都不是很好。 (缺少包含或缺少名稱空間前綴)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM