没有可行的重载'='错误C ++

时间:2016-03-07 07:19:08

标签: c++

我正在尝试将正确的票证变量(t1或t2)存储到t3中,因此我可以将其返回到主变量。当我使用“=”来设置t1到t3时,它表示“没有可行的重载'='”。以下是我的代码:

using namespace std;

class ticket
{
public:
    ticket();
    double input();
    double output();
    friend ticket operator *(const ticket &t1, const ticket &t2);
    friend ticket operator /(const ticket &t1, const ticket &t2);
private:
    void cost();
    string name;
    double miles, price;
    int transfers;
};

1 个答案:

答案 0 :(得分:1)

变量c1和文字'\0'的类型为char,而不是character结构的实例。

类型charcharacter完全不相关,您不能简单地在两者之间进行转换。

一个简单的解决方案是为character结构创建转换构造函数,它接受单个char参数并使用该字符正确初始化结构。

或者只是创建一个character结构并明确地将正确的成员设置为您想要的角色。