如何将变量类型传递给函数?像这样:
void foo(type){
cout << sizeof(type);
}
原文由 user3325976 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何将变量类型传递给函数?像这样:
void foo(type){
cout << sizeof(type);
}
原文由 user3325976 发布,翻译遵循 CC BY-SA 4.0 许可协议
有点晚了 - 但可以使用宏来实现 - 像这样:
#define foo(T) std::cout << sizeof(T)
...
foo(MyType);
原文由 Myrddin Krustowski 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
你不能传递这样的类型,因为类型不是对象。它们在运行时不存在。相反,您需要一个模板,它允许您在编译时实例化具有不同类型的函数:
例如,您可以使用
foo<int>()
调用此函数。它将用T
替换为int
来实例化函数的一个版本。查找 功能模板。