【发布时间】:2012-08-27 16:57:53
【问题描述】:
对不起,我知道我的英语不好,但我举了一些例子,以便我的问题更清楚。
a.cpp
#include <iostream>
using namespace std;
void funcfoo(){
cout << "test only" << endl;
}
int varfoo = 10;
b.cpp
#include <iostream>
using namespace std;
extern void funcfoo();
extern int varfoo;
int main(){
funcfoo();
cout << varfoo;
return 0;
}
然后我像这样编译它“cl b.cpp a.cpp”
我的问题是。当我删除“void funcfoo()之前的extern关键字”时它工作正常,但是当我删除extern关键字时怎么会
在 int var foo 之前出现错误?
【问题讨论】:
-
见stackoverflow.com/questions/2604202/… -- 函数默认有外部链接;关键字是多余的。
标签: c++ function variables extern