首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++运算符重载错误

C++运算符重载错误
EN

Stack Overflow用户
提问于 2016-11-22 21:18:46
回答 1查看 42关注 0票数 1

我正在尝试写一段基本的操作符重载代码。然而,我得到了一些我无法解释的错误。

头文件:

代码语言:javascript
复制
class Overloading
{
public:
    int number;
    Overloading();
    Overloading(int);
    Overloading operator+(Overloading);
    void vUselessoverloadFunction();
};

C++代码:

代码语言:javascript
复制
Overloading::Overloading()
{}

Overloading::Overloading(int i)
{
    number = i;
}

Overloading Overloading::operator+(Overloading Object2)
{
    Overloading NewObject;
    NewObject.number = number + Object2.number;
    return (NewObject);
}
void Overloading::vUselessoverloadFunction() {

Overloading ObjectOne(15);
Overloading ObjectTwo(24);
Overloading ObjectThree();

ObjectThree = ObjectOne+ObjectTwo;
cout << ObjectOne.number << endl;
cout << ObjectTwo.number << endl;
cout << "Overloaded object value: " << ObjectThree.number << endl;

}

我收到以下错误:

在线ObjectThree = ObjectOne+ObjectTwo;

函数‘-Assignment ObjectThree()’的重载

-Cannot在赋值中将'Overloading‘转换为'Overloading()’

和在线cout << "Overloaded object value: " << ObjectThree.number << endl;

'ObjectThree‘中成员’-Request‘的重载,它是非类类型'Overloading()’。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2016-11-22 21:21:32

Overloading ObjectThree();是一个函数原型。

它没有声明变量ObjectThree。所以你的编译器会输出一个错误,尽管这是一个相当混乱的错误。

这是一个相当常见的错误:谷歌的“最烦人的解析”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40742922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档