Лучшая практика для #ifdef вокруг VS2012 против VS2013 для поддержки C++11?
Какой хороший / лучший способ переключать некоторые объявления функций на основе версии VS?
контекст: мне нужно опираться на linux и windows и продолжать работать в тех случаях, когда GCC компилируется нормально, но в VS2012 отсутствуют некоторые функции C++11. Я бы хотел #ifdef исключить неподдерживаемый синтаксис, чтобы его можно было использовать прямо сейчас в Linux и легко включить позже для поддержки VS2013.
такие функции, как параметры шаблона функции по умолчанию, предположительно хороши в vs2013: http://blogs.msdn.com/b/vcblog/archive/2013/06/27/what-s-new-for-visual-c-developers-in-vs2013-preview.aspx
//syntax fail; can this be wrapped with "If GCC or VSVERSION > XYZ" ?
template <typename T/*=std::complex<double>*/> void setImpedance(T impedance);