我正在使用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