我一直使用Linux文本编辑器进行C/C++编码。我对Visual Studio完全陌生。我下载了Visual Studio 2013并编写了一个非常基本的代码。在我告诉你我的问题之前,我想我应该提到我是如何打开新项目的,这样就不会打开一个错误的新项目了!
现在是:
文件>新建>项目>Visual C++>Win32控制台应用程序>确定>(窗口显示"欢迎使用Win32应用程序向导")>下一步>选中附加选项>完成下的"清空项目"框
然后,我只需右键单击"源文件">添加>新项目>C++文件(.cpp)>添加
然后我想要的窗口出现了,这样我就可以写一些应该工作的代码了!!
我在Visual Studio 2013中编写了以下(非常基本的代码):
#include <iostream>
using namespace std;
int main()
{
cout << "What's your name?";
string name;
cin >> name;
cout << "Enter your age: ";
int age;
cin >> age;
cout << "In a decade, you will be " << age + 10 << "years old!" << endl;
return 0;
}
要运行它,当我按下"本地Windows调试器"时,会出现一个框,上面写着:"存在生成错误。是否要继续并运行上次成功的生成?">
我按下了"是">
然后显示另一个框,上面写着"无法启动程序……系统找不到指定的文件">
我在错误列表中看到以下错误:
no operator ">>" matches the operands
operand types are: std::istream >> std::string
我将感谢你的帮助。谢谢
您忘记了包含C++的字符串库。添加
#include <string>
在文件的开头应该可以使其工作。
您可以执行以下操作之一:
std::string name;
或者在顶部包含字符串类:
#include <string>
- 您没有包含像
#include<string>
这样的字符串类 - 使用
cin.getline(name)
获取字符串中的输入,否则将只获取一个单词作为输入,因为">>"运算符忽略空白(空格、制表符等) - 当您发现此框消息时:"存在生成错误。您想继续并运行上次成功的生成吗?"不要按YES,因为它使用上次无错误的生成来执行您的程序