#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; }
函数不能放在类中去定义
最新推荐文章于 2023-04-18 13:44:04 发布