ฉันกำลังพยายามทำสิ่งนี้:
#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 "("
ฉันจะทำให้พิมพ์ดีดตามเงื่อนไขถูกต้องได้อย่างไร
sizeof
หรือโครงสร้าง C ++ อื่น ๆ แน่นอนว่ามันไม่รู้เกี่ยวกับสิ่งที่คุณสร้างขึ้นเองtypedef
เนื่องจากยังไม่ได้รับการแยกวิเคราะห์