我有两个文件Sample.cpp和Main_file.cpp。 Sample.cpp只有一个名称空间n1
,其中包含int
变量x
的定义。我想在main_file.cpp中打印这个变量x
。我该怎么做呢?
//Sample.cpp_BEGINS
namespace n1
{
int x=10;
}
//Sample.cpp_ENDS
//Main_FILE_BEGINS
void main()
{
print x;
}
//MAIN_FILE_ENDS
感谢您提供任何帮助。
答案 0 :(得分:6)
您使用变量的完全限定名称:
int main()
{
n1::x = 10;
return 0;
}
答案 1 :(得分:5)
要从main.cpp访问n1::x
,您可能需要创建并添加sample.h
:
// sample.h
#ifndef SAMPLE_H
#define SAMPLE_H
namespace n1
{
extern int x;
}
#endif
// sample.cpp
#include "sample.h"
namespace n1
{
int x = 42;
}
#include <iostream>
#include "sample.h"
int main()
{
std::cout << "n1::x is " << n1::x;
}
如果您不想创建头文件,也可以在main.cpp中执行此操作:
#include <iostream>
namespace n1
{
extern int x;
}
int main()
{
std::cout << "n1::x is " << n1::x;
}