[英]Calling function without parameter, when default parameter is allready defined
我用C ++编写已经很长时间了,我无法在网上找到问题的解决方案,因此这个问题:
我有一个类,我想用默认参数定义一个函数:Run(par =“default”)
class.h包含:
class Test { public : void Run(QString par="default");};
class.cpp包含:
void Test::Run(QString par="default") { ... };
我得到的问题是,当我尝试调用此函数时,没有参数(我想使用默认值),编译器抱怨函数run()的不存在。
Test test;
test.Run()
7:错误:未定义引用`Test :: Run()'
我宁愿不使用函数重载。
我试图仅在.cpp中删除默认值,但编译器错误仍然存在。
我在这忘记了什么? 我正在使用GCC编译QT。
如果声明默认参数,则只在类声明中设置它。 在定义中,您将其留空。
class Test { public : void Run(QString par="default");};
void Test::Run(QString par) { ... };
应该没事
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.