Sto cercando di fare qualcosa del genere:
#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;
}
ma ottengo questo errore:
error: missing binary operator before token "("
Come posso rendere correttamente il typedef condizionale?
sizeof
o altri costrutti C ++. E di certo non sa di cose che voi stessi creati contypedef
, come quella è nemmeno stato ancora analizzato.