C ++中的命名空间如何链接?

时间:2015-04-13 16:19:45

标签: c++ namespaces

我的代码结构如下:

file1.cpp

namespace file1
{
  ...
  ...
}
int main()
{
  file2::func();
}

file2.cpp

namespace file2
{
     ...
     ...
}

如何将file1.cpp与file2.cpp链接?它抛出了file1.cpp无法找到file2 namespace的错误。我尝试在file1.cpp中添加namespace file2{},但仍然是同样的错误。

1 个答案:

答案 0 :(得分:1)

您需要一个标头来声明要从多个源文件访问的内容:

// file2.h
#pragma once  // or a traditional include guard if you prefer

namespace file2 {
    void func();
}

现在从file1.cpp添加此内容,以便从那里开始使用file2::func

// file1.cpp
#include "file1.h"

// ...