函数不能放在类中去定义

来源:互联网 发布:mac数据库软件 编辑:程序博客网 时间:2024/06/09 15:23

vC++ 局部类中的函数不能在类外定义?

2008-05-02 23:04zhwouui | 分类:VC++ | 浏览1619次
#include <iostream>#include <string>using namespace std;int main(){ class t1 {public: void display(); //{cout<<"name:"<<name<<endl<<"age:"<<age<<endl<<"sex:"<<sex<<endl<<"addr:"<<addr<<endl<<"num:"<<num<<endl<<"title:"<<title;} string name,addr,title; char sex; int age,num; };  void t1::display(){cout<<"name:"<<name<<endl<<"age:"<<age<<endl<<"sex:"<<sex<<endl<<"addr:"<<addr<<endl<<"num:"<<num<<endl<<"title:"<<title;}return0;}编译出错(10)error C2601: “main::t1::display”: 本地函数定义是非法的(17)warning C4822: “main::t1::display”: 局部类成员函数没有函数体(7): 此行有一个“{”没有匹配项用的是vs 2008 rtm顺便问一下 vs 2008的正式版出了没?
2008-05-03 10:00提问者采纳
主要原因是不能进行函数的嵌套定义所以你的函数不能放在类中去定义,但类还是可以在函数中定义的,如果你的类中没有函数的话,这个就没问题,但有函数就不行了,所以必须把类的定义也必须放到外面去了#include <iostream> #include <string> using namespace std; class t1 {public:  void display()();  string name,addr,title;  char sex;  int age,num; }; void t1::display()(){ cout<<"name:"<<name<<endl<<"age:"<<age<<endl  <<"sex:"<<sex<<endl<<"addr:"<<addr<<endl  <<"num:"<<num<<endl<<"title:"<<title;} int main() {  return 0; }
0 0
原创粉丝点击