まれT
に応じてnormal_distributionはint型にすることができ、それがでハングします:これは私の関数の次の行に使用され、私はしたくないタイプ::テンプレート
std::normal_distribution<T> distribution(0.0, 0.1);
if/elseに依存するすべてのコード行があります。その結果、私はこれを行うにしようとしています:
#include <random>
#define T int
int main()
{
std::normal_distribution<((std::is_same<T, int>::value) ? (float) : (T))> distribution (0.0, 1$
return 0;
}
を、私はこれらのエラーを取得しています:
Georgioss-MacBook-Pro:Code gsamaras$ g++ -std=c++0x main.cpp
main.cpp:7:69: error: expected expression
std::normal_distribution<((std::is_same<T, int>::value) ? (float) : (T))> distribution ...
^
main.cpp:7:74: error: expected expression
std::normal_distribution<((std::is_same<T, int>::value) ? (float) : (T))> distribution ...
^
main.cpp:7:77: error: C++ requires a type specifier for all declarations
std::normal_distribution<((std::is_same<T, int>::value) ? (float) : (T))> distribution ...
^
3 errors generated.
このまたは別の問題を解決する方法上の任意のアイデアを?
'のstdを与える::条件'。 –
ああ、それはトリック@ T.C。、ありがとう!私の質問を削除する必要がありますか? – gsamaras