Estou tentando fazer algo assim:
#include <iostream>
#include <random>
typedef int Integer;
#if sizeof(Integer) <= 4
typedef std::mt19937 Engine;
#else
typedef std::mt19937_64 Engine;
#endif
int main()
{
std::cout << sizeof(Integer) << std::endl;
return 0;
}
mas recebo este erro:
error: missing binary operator before token "("
Como posso fazer corretamente o typedef condicional?
sizeof
, ou outras construções C ++. Ele certamente não sabe sobre coisas que você mesmo criou comtypedef
, como que nem sequer foi ainda analisado.