Tho*_*hom 18 c++ class definition
我使用C++的经验预先添加了字符串类,所以我在某些方面重新开始.
我正在为我的类定义我的头文件,并希望为url创建一个静态常量.我这样做的方法如下:
#include <string>
class MainController{
private:
static const std::string SOME_URL;
}
const std::string MainController::SOME_URL = "www.google.com";
Run Code Online (Sandbox Code Playgroud)
但这在链接期间给了我一个重复的定义.
我怎么能做到这一点?
Dav*_*hme 14
移动
const std::string MainController::SOME_URL = "www.google.com";
Run Code Online (Sandbox Code Playgroud)
到一个cpp文件.如果你在标题中有它,那么包含它的每个.cpp都会有一个副本,你会在链接期间得到重复的符号错误.
JRL*_*JRL 11
你需要放线
const std::string MainController::SOME_URL = "www.google.com";
Run Code Online (Sandbox Code Playgroud)
因为一个定义规则,在cpp文件中,而不是标题.而且你无法在类中直接初始化它的事实是因为std::string它不是一个整数类型(如int).
或者,根据您的使用情况,您可能会考虑不使用静态成员,而是使用匿名命名空间.有关pro/cons的信息,请参阅此帖子.
| 归档时间: |
|
| 查看次数: |
44821 次 |
| 最近记录: |