首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎样调用到静态函数解决办法

2012-04-21 
怎样调用到静态函数s2.cpp里#include iostreamusing namespace stdvoid ex()extern void sta()void e

怎样调用到静态函数
s2.cpp里
#include <iostream>
using namespace std;
void ex();
extern void sta();


void ex()
{
cout << "ex()" << endl;
sta();
}



static void sta()
{
cout << "static sta()" << endl;

}

s1.cpp里
#include <iostream>
using namespace std;

extern void ex();
void sta()
{
cout << "sta()" << endl;
}

int main()
{
ex();
sta();
system("pause");
return 0;
}

可是ex()函数中总是调用的void sta(),而不是static sta(),该怎么弄呢

[解决办法]
C/C++是不可能实现引用根本没声明的东西的。你调用sta的时候静态的sta根本还都不存在。
[解决办法]
void ex();
extern void sta();//这句去掉,然后将静态成员函数的定义放到ex前面

[解决办法]
extern 这个不是全局函数么?!静态函数不是static么?!
[解决办法]
通过参数传递得到对象名 然后再对对象名调用
[解决办法]
简单,声明一个命名空间不就得了么,2个命名空间不冲突啊

热点排行