我正在尝试将正确的票证变量(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;
};
答案 0 :(得分:1)
变量c1
和文字'\0'
的类型为char
,而不是character
结构的实例。
类型char
和character
完全不相关,您不能简单地在两者之间进行转换。
一个简单的解决方案是为character
结构创建转换构造函数,它接受单个char
参数并使用该字符正确初始化结构。
或者只是创建一个character
结构并明确地将正确的成员设置为您想要的角色。