实际上我的问题都在标题中.
无论如何:
我有一个类,我使用显式构造函数:
.h
class MyClass { public: explicit MyClass(const string& s): query(s) {} private: string query; }
是否必须在实现(.cpp)文件中放置显式关键字?
不它不是.该explicit
关键字仅在标题中允许.我的gcc说:
test.cpp:6: error: only declarations of constructors can be 'explicit'
对于以下代码:
class foo { public: explicit foo(int); }; explicit foo::foo(int) {}