私はこのようなことをやろうとしています:
#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こともまだ解析されていないとして、。