我们对某些类型参数使用模板特化
class my_template_class<uint64_t M>: public my_template_class_base<uint64_t> {
....
}
class my_template_class<unsigned long long,M>: public my_template_class_base<unsigned long long> {
....
}
Run Code Online (Sandbox Code Playgroud)
这与使用gcc的64位编译完美配合.当我们尝试32位模式时,它会报告上面两个类的"先前定义".
那么与32位编译unsigned long long相同,uint64_t但不是64位编译吗?
编译差异是CXX标志-m32和-m64
c++ ×1