gpt4 book ai didi

c++ - 强制使用常量检查模板类型的编译时错误

转载 作者:行者123 更新时间:2023-11-30 03:38:33 30 4
gpt4 key购买 nike

<分区>

这就是我想要做的:

#define SIZE 8

template<class T>
struct name {
T a;
name() {
#if SIZE != sizeof(T)*8
#error Size mismatch
#endif
}
};

int main(void)
{
name<uint16_t> a; //Size mismatch

return 0;
}

我希望它在使用模板化结构时大小不匹配时给出编译时错误,即 name<uint16_t>应该给出编译时错误,因为它不符合要求 (sizeof(T)*8 == 8) .

这可以在 <C++11 中完成吗? ?

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com