对于将 const char 分配给 std::string 的这种代码不兼容类型的错误,我不断收到此错误
I keep getting this error for the this code incompatible type of assignment of const char to std::string
if(gamble == "You Get A Raise"){
int raise[] {1,2,3,4,5,6,7,8,9,10}
cout << "You get a " raise[rand()%10] << " $ Raise" << endl;
salary = salary + raise;
}
我试图制作一个程序,挑选出一个数字 1-10,然后将其添加到您当前的薪水中
您实际上要存储加薪的索引:rand()%10
以便显示然后将相同的加薪应用于工资。
int raise[] {1,2,3,4,5,6,7,8,9,10};
int raiseIdx = rand()%10;
cout << "You get a " << raise[raiseIdx] << " $ Raise" << endl;
salary = salary + raise[raiseIdx];
您的gamble
变量应为std::string
:
std::string gamble = "You Get A Raise";
你忘了<<
吗?
试试这个:
int raise[] = {1,2,3,4,5,6,7,8,9,10};
int raise_value = rand()%10;
cout << "You get a " << raise[raise_value] << " $ Raise" << endl;
salary += raise[raise_value];
您的字符串gamble
也需要std::string
:
std::string gamble = "You Get A Raise";
下面是一个完整的示例:
int salary = 1000;
std::string gamble = "You Get A Raise";
int raise[] = {1,2,3,4,5,6,7,8,9,10};
if (std::strcmp(gamble.c_str(),"You Get A Raise") == 0) {
// or
// if (gamble.compare("You Get A Raise") == 0) {
int raise_value = rand()%10;
cout << "You get a " << raise[raise_value] << " $ Raise" << endl;
salary += raise[raise_value];
cout << "New salary is $" << salary << endl;
}
相关文章:
- 我的模板类方法返回错误类型?
- 错误:类型"double()"和"double()"的操作数无效到二进制&quo
- 类型为 "int*" 的参数与 C++ 中错误类型"int**"参数不兼容
- glDrawElements GL 错误类型 = 0x824c,严重性 = 0x9146,消息 = GL_INVALID
- Eclipse/CDT_C++给出"语义错误_"类型XXX无法解决"。项目运行
- turbo 为什么我的C++代码中出现错误类型名称预期"错误?
- "auto"推断出 hashtable_policy.h 中的错误类型
- 设计自己的结果/两者之一:是否应该始终指定成功类型和错误类型
- 如何修复"ctypes"。参数错误:参数 2:<键入"异常.类型错误">:RaspberryPi 中的错误类型"错误
- 在 vscode 上编译错误.类型说明符是 C++11 扩展
- 不允许使用错误类型
- 当读取错误类型时,CIN覆盖我的初始化值
- C++:"错误:类型'const char*'和'const char [28]'的操作数无效到二进制'ope
- 我的代码错误类型警告 1 警告 C4018 和更多错误
- 在shared_from_this()中的错误类型(在继承类中)(是否有dyn.type-ware shared Poi
- 为什么缩小转换范围不能防止错误类型的map.insert()失败
- 程序总是返回二进制'>>':找不到运算符,它采用错误类型的左操作数
- 错误:类型为 '.&' 来自类型的临时 '..*康斯特'
- 涉及将要馈送的向量转换为execvp的错误类型
- C++中是否存在错误类型