我正在尝试在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
答案 0 :(得分:8)
您正在使用的范围for
循环和初始化程序列表表示法都是在C ++ 11标准中引入的。
支持范围for
循环的最早的VC编译器是VC2013,但该编译器并未完全实现(甚至声称实现)C ++ 11标准。
(例如,它不允许您以您的方式使用初始化列表。)
您最好升级到VC2015。