【发布时间】:2022-01-11 21:53:05
【问题描述】:
我的目的很简单,输入的数据类型取决于模板bool:
template<bool isfloa>
class example{
public:
if (isfloa){
example(float p){printf("sizeof p: %d\n", sizeof(p))};
} else{
example(uint64_t p){printf("sizeof p: %d\n", sizeof(p))};
}
};
这无法通过编译,我有以下解决方案(尚未测试):
using dataType = isfloa ? float : uint64_t;
example(dataType p){printf("sizeof p: %d\n", sizeof(p))};
我想知道这是否有效?还有其他解决方案吗?非常感谢。
【问题讨论】:
标签: c++ class templates metaprogramming using