函数不能放在类中去定义

 

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

2008-05-02 23:04 zhwouui  |  分类: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; 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值