r*******y 发帖数: 1081 | 1 How to use a namespace defined in another file without include ?
for example:
//1.cpp
namespace cc{int i = 10;}
//2.cpp
#include
int main(){
std::cout << cc::i <
}
then compile: g++ -o 2 2.cpp 1.cpp
but error: cc has not been defined.
which directive should be added in 2.cpp? for example "extern namespace cc".
I tried but failed too.
Thanks |
X****r 发帖数: 3557 | 2 namespace cc {extern int i;}
【在 r*******y 的大作中提到】 : How to use a namespace defined in another file without include ? : for example: : //1.cpp : namespace cc{int i = 10;} : //2.cpp : #include : int main(){ : std::cout << cc::i <: } : then compile: g++ -o 2 2.cpp 1.cpp
|
r*******y 发帖数: 1081 | 3 thanks
【在 X****r 的大作中提到】 : namespace cc {extern int i;}
|
z****e 发帖数: 2024 | 4 那using怎么弄呢?如果不想一个个声明是extern的话。
【在 X****r 的大作中提到】 : namespace cc {extern int i;}
|
X****r 发帖数: 3557 | 5 什么意思?using只是让你不用每次都写cc::,和extern声明是两码事。
【在 z****e 的大作中提到】 : 那using怎么弄呢?如果不想一个个声明是extern的话。
|
z****e 发帖数: 2024 | 6 我的意思是,像using那样,一次把名字都开放,类似的extern声明有没有,一次性把
整个namespace里边的对象都声明作为extern的?感觉是必须一个个单独声明的。
【在 X****r 的大作中提到】 : 什么意思?using只是让你不用每次都写cc::,和extern声明是两码事。
|
X****r 发帖数: 3557 | 7 编译器怎么知道这个namespace里有哪些对象呢?
那些对象定义的文件是在另一编译单元啊。
【在 z****e 的大作中提到】 : 我的意思是,像using那样,一次把名字都开放,类似的extern声明有没有,一次性把 : 整个namespace里边的对象都声明作为extern的?感觉是必须一个个单独声明的。
|