【发布时间】:2015-08-26 19:50:47
【问题描述】:
我正在尝试编写一些命名空间静态方法和变量,以便拥有一组我可以在代码中的任何位置使用的函数。这就是我所拥有的: 标题:
namespace CProfileIO
{
static void setAppDir(std::string appDir);
static int reloadProfiles();
static std::string directory;
static std::list<std::string> profilesList;
}
来源:
namespace CProfileIO
{
void setAppDir(std::string appDir)
{
directory = appDir;
}
int reloadProfiles()
{
// ...
}
} // namespace CProfileIO
然后在我的代码中某处:
#include "CProfileIO.h"
int main(int argc, char * argv[])
{
string appDir = string(dirname(*argv));
CProfileIO::setAppDir(appDir);
.
.
.
}
当我尝试编译时,我在使用函数的那一行出现错误:
... undefined reference to `CProfileIO::setAppDir(std::string)'
我不知道出了什么问题。我会获得所有帮助!
【问题讨论】:
-
Static variables in C++ 的可能副本。
-
你真的认为它与命名空间有关吗?
标签: c++ class c++11 namespaces