我正在使用visual studio 2013社区来研究C++ primer。 而我遇到这个问题。 当我编写下面的代码时,VS显示len未定义。C++字符串:: size_type错误
#include "stdafx.h"
#include<iostream>
#include<string>
using std::string;
using std::cout;
using std::cin;
using std::endl;
int main()
{
string line;
while (getline(cin, line))
if (line.size() > 10)
auto len = line.size();
cout << line.size() <<" "<<len <<endl;
return 0;
}
当我编写下面的代码时,VS显示len被定义并且工作正常。
#include "stdafx.h"
#include<iostream>
#include<string>
using std::string;
using std::cout;
using std::cin;
using std::endl;
int main()
{
string line("fewogwewjgeigeoewggwe");
auto len = line.size();
cout << line.size() <<" "<< len <<endl;
return 0;
}
我真的没有看到它的原因。希望得到一些很好的解释。多谢!!!
C++是不是像Python的地方缩进是显著。输出不在'if' *或*循环中。 –
在第一个代码块中,'cout'行不在'if'块中,因为没有大括号...因此'len'变量已经超出范围。加一些大括号。 – Buddy
非常感谢大家。我的第一个问题。很高兴看到答案如此之快! – LiuHao