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

关于函数声明与函数参数中类定义的先后有关问题

2012-04-11 
关于函数声明与函数参数中类定义的先后问题简化模型代码如下,请高人指点...C/C++ code//#include stdafx.

关于函数声明与函数参数中类定义的先后问题
简化模型代码如下,请高人指点...

C/C++ code
//#include "stdafx.h"#include "stdio.h"void fun(test);    //函数声明,这里要用到test类的参数//[!!]由于某些特殊原因,fun必须作为外部函数而不能作为test的成员函数!!class test{    //类声明public:      int a;      void (*v)(void); //函数指针.      test(){             v = fun;      }};void fun(test t){     t.a=1;}int main(){    test tt;    fun(tt);    return 0;}



编译不能顺利通过.以下方法已经尝试但貌似都不行:
1\去掉 void fun(test); 的一行;
2\将void fun(test);中的test去掉;
3\去掉void fun(test);之后:
  将fun的声明和test的声明顺序做调换.

[解决办法]
这不正好是 友元大显神威的地方吗?
[解决办法]
C/C++ code
#include<iostream>using namespace std;class test;void fun(test);    //函数声明,这里要用到test类的参数class test{    //类声明public:      int a;      void (*v)(test); //函数指针.      test(){             v = fun;      }};void fun(test t){     t.a=1;}int main(){    test tt;    fun(tt);        system("pause");    return 0;} 

热点排行