我想在此添加一个新行.这是我的示例代码:
ui->button->setText(" Tips " + "\n" + TipsCount );
Run Code Online (Sandbox Code Playgroud)
这是它显示的错误:
类型'const char [7]'和'const char [2]'到二元'运算符+'的无效操作数
但是当我添加到标签时,它会被追加!
ui->label->setText(name + "\n" + City );
Run Code Online (Sandbox Code Playgroud)
有人可以帮帮我吗?
这是C++中的一个非常常见的问题(通常,不仅仅是QT).
由于运算符重载的魔力,name + "\n"变成了一个方法调用(不能说哪一个,因为你没有列出类型).换句话说,因为两个东西中的一个是具有+重载的对象,所以它起作用.
然而,当你尝试做的时候"abc" + "de",它会爆炸.原因是编译器尝试将两个数组一起添加.它不明白你的意思是连接,并试图将其视为算术运算.
要更正此问题,请将字符串文字包装在适当的字符串对象类型中(std::string或QString最有可能).