范围中未定义字符串。不确定为什么 所以我在空闲时间就拿起了C++,我正在尝试制作一个简单的剪纸游戏。当我尝试运行此操作时,我得到x、y和z的“未在此范围内定义错误” #include <iostream> #include <stdlib.h> #include <string> int main(){ string x,y,z; srand (time(NULL)); int computer = rand() % 3 + 1; int user = 0; std::cout << "====================\n"; std::cout << "rock paper scissors!\n"; std::cout << "====================\n"; std::cout << "1) ✊\n"; std::cout << "2) ✋\n"; std::cout << "3) ✌️\n"; std::cout << "shoot! "; std::cin >> user; if(user== 1){ x = (computer == 3) ? "You win!" : "You lose."; std::cout<<x; }else if(user==2){ y = (computer == 1) ? "You win!" : "You lose."; std::cout<<y; }else{ if(user == 3){ z = (computer == 2) ? "You win!" : "You lose."; std::cout<<z; } } } #包括 #包括 #包括 int main(){ 字符串x,y,z; srand(时间(空)); int computer=rand()%3+1; int user=0; std::cout

范围中未定义字符串。不确定为什么 所以我在空闲时间就拿起了C++,我正在尝试制作一个简单的剪纸游戏。当我尝试运行此操作时,我得到x、y和z的“未在此范围内定义错误” #include <iostream> #include <stdlib.h> #include <string> int main(){ string x,y,z; srand (time(NULL)); int computer = rand() % 3 + 1; int user = 0; std::cout << "====================\n"; std::cout << "rock paper scissors!\n"; std::cout << "====================\n"; std::cout << "1) ✊\n"; std::cout << "2) ✋\n"; std::cout << "3) ✌️\n"; std::cout << "shoot! "; std::cin >> user; if(user== 1){ x = (computer == 3) ? "You win!" : "You lose."; std::cout<<x; }else if(user==2){ y = (computer == 1) ? "You win!" : "You lose."; std::cout<<y; }else{ if(user == 3){ z = (computer == 2) ? "You win!" : "You lose."; std::cout<<z; } } } #包括 #包括 #包括 int main(){ 字符串x,y,z; srand(时间(空)); int computer=rand()%3+1; int user=0; std::cout,c++,scope,C++,Scope,您有字符串x,y,z;但是字符串属于名称空间std 您的cout之所以有效,是因为您在代码中键入了std::cout。对这些字符串执行相同的操作,因为您的代码中没有使用命名空间std;的 解决方案: 将字符串x,y,z;更改为std::字符串x,y,z; 旁白: >对于 Srand(time(null)),您也丢失了头 >代码;:在C++项目中,更喜欢 >代码> 。推荐:在将来的问题中,把完整的错误信息复制到问题中。这样,答案就更容易告诉你出了什么问题(你得到的答案更快)。并使未来的提问者更

您有
字符串x,y,z;
但是
字符串
属于名称空间
std

您的
cout
之所以有效,是因为您在代码中键入了
std::cout
。对这些字符串执行相同的操作,因为您的代码中没有使用命名空间std;的

解决方案:

字符串x,y,z;
更改为
std::字符串x,y,z;

旁白:


>对于 Srand(time(null)),您也丢失了头<代码> >代码;

:在C++项目中,更喜欢<代码> <代码> >代码> <代码>。推荐:在将来的问题中,把完整的错误信息复制到问题中。这样,答案就更容易告诉你出了什么问题(你得到的答案更快)。并使未来的提问者更容易找到和理解问题及其答案。如果您想知道为什么您更喜欢
而不是
,请参阅进一步的文档。