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

头文件的函数声明出现异常expected ‘;’ before ‘&’ token

2012-08-11 
头文件的函数声明出现错误expected ‘’ before ‘&’ token在一个类的声明中,有一行:C/C++ codeunsigned lon

头文件的函数声明出现错误expected ‘;’ before ‘&’ token
在一个类的声明中,有一行:

C/C++ code
unsigned long int& GetID(unsigned long int& PersionID)const; unsigned string& GetID(string& PersionID)const;

编译时这行提示error: expected ‘;’ before ‘&’ token
真的很奇怪呀,&前加;干嘛?

[解决办法]
有unsigned string类型的数据么??
还有你有没有引用包含string类型的头文件???
我修改这两处后编译没有问题
[解决办法]
不知道上下文做这种判断是不合理的。有时返回引用是合理的(例如operator=总是返回引用),只要你返回的不是临时变量的引用即可。

至于编译错误,绝大多数是没有包含<string>,或者包含了没有使用using namespace std;


探讨
unsigned long int& GetID(unsigned long int& PersionID)const;
unsigned string& GetID(string& PersionID)const;


抛开编译错误不谈, 楼主这个程序不会有问题吧?

返回值为 int&。 难度LZ的函数返回的是参数的值,那何必不返回一个int型的错误码呢?
如果返回函数内部分配的栈上的值,那么函数结束时该值已经释放,返回结果错误。

[解决办法]
unsigned只能用于修饰整型、长整型,string有什么“unsigned”的概念?
探讨
unsigned long int& GetID(unsigned long int& PersionID)const;
unsigned string& GetID(string& PersionID)const;

本来就是不同行的啊~怎么会错

热点排行