例如,我想要一个类型为 auto
的变量,因为我不确定它是什么类型。
当我尝试在类/结构声明中声明它时,它给了我这个错误:
无法推断自动类型。需要初始化器
有办法解决吗?
struct Timer {
auto start;
};
原文由 Oleksiy 发布,翻译遵循 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 阅读✓ 已解决
你可以,但你必须声明它
static
和const
:Coliru 中的一个工作示例。
由于这个限制,您因此不能将
start
作为非静态成员,并且不能在不同的对象中具有不同的值。如果您想要不同类型的
start
用于不同的对象,最好将您的类作为模板如果您想推断
T
的类型,您可以制作一个类似工厂的函数来进行类型推断。活生生的例子。