【发布时间】:2019-03-01 17:59:54
【问题描述】:
class Test
{
private :
int i;
public:
Test(int m)
{
i = m;
}
void restart(int k)
{
Test(k);
}
};
但是,编译器 (VS17) 向我发送了一条错误消息,提示“Test 类不存在默认构造函数”,但我认为我不需要默认构造函数,因为此类中的所有函数都需要 int 类型参数。
【问题讨论】:
-
请附上minimal reproducible example。该代码不需要默认构造函数,因此问题可能出在其他地方。你想在
restart中做什么?为什么不简单地i = k; -
也许您在
restart()中的意图是:Test t(k);? -
@JeremyFriesner 我猜他们试图像普通函数一样“调用构造函数”,希望重新执行构造函数主体中的语句
标签: c++ class oop constructor default