循环范围:VS 2008不支持它?

时间:2016-07-06 07:00:03

标签: c++ visual-studio

我正在尝试在VS 2008上运行以下代码。

declare @y varchar(4)='2015'
declare @m varchar(2)='5'
--try_prase is available starting sql 2012
print try_parse('01-'+@m+'-'+@y as datetime using 'en-us')
print convert(datetime,'01-'+@m+'-'+@y,121)

但是编译器给了我以下警告:

  

错误C2143:语法错误:在':'

之前缺少','

在我看来,VS 2008不支持循环范围。真的吗? THX

1 个答案:

答案 0 :(得分:8)

您正在使用的范围for循环和初始化程序列表表示法都是在C ++ 11标准中引入的。

支持范围for循环的最早的VC编译器是VC2013,但该编译器并未完全实现(甚至声称实现)C ++ 11标准。 (例如,它不允许您以您的方式使用初始化列表。)

您最好升级到VC2015。