命名空间C++如何链接

namespace in C++ how to link?

本文关键字:链接 何链接 C++ 命名空间      更新时间:2023-10-16

我的代码结构如下:

文件1.cpp

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

文件2.cpp

namespace file2
{
     ...
     ...
}

如何将文件 1.cpp 与文件 2.cpp 链接?它抛出错误 file1.cpp 找不到file2 namespace。我尝试在 file1.cpp 中添加namespace file2{},但仍然出现相同的错误。

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

// 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"
// ...