Saya mencoba melakukan sesuatu seperti ini:
#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;
}
tapi saya mendapatkan kesalahan ini:
error: missing binary operator before token "("
Bagaimana saya bisa membuat typedef bersyarat dengan benar?
sizeof, atau konstruksi C ++ lainnya. Itu pasti tidak tahu tentang hal-hal yang Anda buat sendiritypedef, karena itu bahkan belum diuraikan.