c++ 用decltype定义的问题

#include
#include
#include
#include
using namespace std;

int main()
{
string input = " cmp txt1 txt2 end";
vector vec;

decltype(vec.size()) index = 0;
for (; index < input.size() && input[index] == ' '; ++index);//index停在第一个非空格的字符上
if (index >= input.size())
{
    cout << "错误!输入内容为空\n";
    return -1;
}
...

断点显示进入for语句时index为“未定义标识符”,然后连if条件都没判断就退出了,想问问为什么

关掉优化编译重新断点 同时看你代码的条件是否符合

vector vec;居然还可以这样定义的啊

楼主这里不行?
图片说明

  1. VS2013 对C++11的标准并不是完全支持的,g++对新标准的支持会好些
  2. 你的vector没有指定具体的类型