我正在尝试做这样的事情:
#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;
}
但是我得到这个错误:
error: missing binary operator before token "("
我该如何正确地设置条件typedef?
sizeof
或其他C ++构造一无所知。它当然不知道您使用自己创建的东西typedef
,因为它甚至还没有被解析。