C++ 中的命名空间如何 link?
namespace in C++ how to link?
我的代码结构如下:
file1.cpp
namespace file1
{
...
...
}
int main()
{
file2::func();
}
file2.cpp
namespace file2
{
...
...
}
我 link file1.cpp 和 file2.cpp 会怎样?它抛出 file1.cpp 找不到 file2 namespace
的错误。我尝试在 file1.cpp 中添加 namespace file2{}
,但仍然出现相同的错误。
您需要 header 来声明要从多个源文件访问的内容:
// 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"
// ...
我的代码结构如下:
file1.cpp
namespace file1
{
...
...
}
int main()
{
file2::func();
}
file2.cpp
namespace file2
{
...
...
}
我 link file1.cpp 和 file2.cpp 会怎样?它抛出 file1.cpp 找不到 file2 namespace
的错误。我尝试在 file1.cpp 中添加 namespace file2{}
,但仍然出现相同的错误。
您需要 header 来声明要从多个源文件访问的内容:
// 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"
// ...