我在这里做了一些搜索,但我还没有找到解决方案来解决我正在寻找的问题。如果它在那里,我提前道歉。我是科罗拉多大学技术大学的学生,学习C ++入门课程,以前在C ++中没有编程经验。
我正在尝试构建一个应该显示文本的程序。 Visual Studio通过构建错误继续将其踢回来。在查看构建注释后,我确定错误是尝试为文本分配变量。以下是我到目前为止的情况:
char my_name;
char my_major;
int my_zip;
char my_address;
char my_phone;
char my_city_state;
cin >> "What is your name? " >> my_name;
cin >> "What is your street address, without city, state & ZIP? " >> my_street;
cin >> "What is the City and state that you live in? " >> my_city_state;
cin >> "What is the ZIP code? " >> my_zip;
cin >> "What is your phone number? " >> my_phone;
cin >> "What is your major? " >> my_major;
我曾试图直接指派,如下:
my_name="C++ User";
但在查看其他常见问题解答时,我意识到这是不可能的。
我如何能够像我最初想要的那样直接分配,或者允许分配输入?
注意:基本代码行是从RAPTOR输出中获取的,我已经能够使用它来使用它,而不是使用Visual Studio。
提前感谢您的帮助,再次,如果有答案,我很抱歉,但是看了15分钟后,我一直无法在这里找到它。
答案 0 :(得分:4)
my_name
是单个char
,而您尝试分配给它的是字符串文字(即char
的数组)。
我建议在这里使用std::string
。例如:
#include <string> // Header required for std::string
// ...
std::string my_name = "C++ User";
此外,您不应该在右侧使用带有字符串文字的operator >>
。而不是这样做:
cin >> "What is your name? " >> my_name;
你应该这样做:
std::cout << "What is your name? "; // Print a message to the standard output
std::cin >> my_name; // Read a string from the standard input
答案 1 :(得分:1)
你应该使用std :: string来获取用户输入的字符串,std :: cout来显示用户消息,使用std :: cin来获取用户输入。
像这样你还需要#include
std::string name;
std::cout<<"What is your name "<<std::endl;
std::cin >> name;