Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates VS2012前后的#ifdef最佳实践,而c+的VS2013最佳实践+;11支持?_Templates_Visual Studio 2012_C++11_Generic Programming_Function Templates - Fatal编程技术网

Templates VS2012前后的#ifdef最佳实践,而c+的VS2013最佳实践+;11支持?

Templates VS2012前后的#ifdef最佳实践,而c+的VS2013最佳实践+;11支持?,templates,visual-studio-2012,c++11,generic-programming,function-templates,Templates,Visual Studio 2012,C++11,Generic Programming,Function Templates,基于VS版本切换某些函数声明的最佳方法是什么 上下文:我需要在linux和windows上构建,并不断遇到GCC编译良好但VS2012缺少一些c++11功能的情况。我想#ifdef出不受支持的语法,以便它可以立即在linux上使用,并在以后轻松启用VS2013支持 vs2013的默认函数模板参数等功能应该很好: //语法失败;是否可以用“IfGCC或VSVERSION>XYZ”包装? 模板阻抗(T阻抗); 可能存在的重复项。另请参见。好的,您的链接回答了如何快速更新它,并给出了编译器版本的一个很

基于VS版本切换某些函数声明的最佳方法是什么

上下文:我需要在linux和windows上构建,并不断遇到GCC编译良好但VS2012缺少一些c++11功能的情况。我想#ifdef出不受支持的语法,以便它可以立即在linux上使用,并在以后轻松启用VS2013支持

vs2013的默认函数模板参数等功能应该很好:

//语法失败;是否可以用“IfGCC或VSVERSION>XYZ”包装?
模板阻抗(T阻抗);

可能存在的重复项。另请参见。好的,您的链接回答了如何快速更新它,并给出了编译器版本的一个很好的摘要:_MSC_VER包含作为整数的主版本号和次版本号(例如,“1500”是版本15.00)_MSC_FULL_VER包含主版本、次版本和内部版本号作为整数(例如,“150020706”是版本15.00.20706)。
 //syntax fail; can this be wrapped with "If GCC or VSVERSION > XYZ" ?
 template <typename T/*=std::complex<double>*/>  void setImpedance(T impedance);