Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
C++ 预处理器g++;明治_C++_G++_C Preprocessor_Preprocessor - Fatal编程技术网

C++ 预处理器g++;明治

C++ 预处理器g++;明治,c++,g++,c-preprocessor,preprocessor,C++,G++,C Preprocessor,Preprocessor,我有密码: #if _MSC_VER <= 1300 float round(float f) { if (f < 0) return ceilf (f - 0.5); else return floorf (f + 0.5); } #endif #如果未定义\u MSC\u VER如果未定义\u MSC\u VER,则编译器将不会看到来自和包括\if到和

我有密码:

   #if _MSC_VER <= 1300 


     float round(float f)
    {
        if (f < 0)
            return ceilf  (f - 0.5);
        else
            return floorf (f + 0.5);
    }
    #endif

#如果未定义
\u MSC\u VER如果未定义
\u MSC\u VER
,则编译器将不会看到来自和包括
\if
到和包括
\endif
的任何代码

根据上下文,编译器将看到有效的源代码,并成功编译。请放心,您的
round
版本不会构成已编译程序的一部分,尽管
std::round
可能已隐式包含在某个地方


最后,使用加法常数
0.5
来设计
舍入
函数也有缺陷。请参见如果未定义
\u MSC\u VER
,则编译器将不会看到
\If
\endif
并包括
\endif>的任何代码

根据上下文,编译器将看到有效的源代码,并成功编译。请放心,您的
round
版本不会构成已编译程序的一部分,尽管
std::round
可能已隐式包含在某个地方


最后,使用加法常数
0.5
来设计
舍入
函数也有缺陷。请参阅

,在G++<代码>中,MSCsFiver 未定义,正如您所注意到的,它是VisualC++特定的。 您可以尝试添加以下内容:

#ifdef _MSC_VER
#if _MSC_VER <= 1300

// Your code

#endif
#endif
\ifdef\u MSC\u VER

如果你没有定义,G++<代码> MSCsFiver 没有定义,正如你注意到的,它是VisualC++特定的。 您可以尝试添加以下内容:

#ifdef _MSC_VER
#if _MSC_VER <= 1300

// Your code

#endif
#endif
\ifdef\u MSC\u VER

#非常感谢你的链接。非常感谢你的链接。