__func__ C 11函数的本地预定义变量,不会编译
发布时间:2020-12-16 05:55:10 所属栏目:百科 来源:网络整理
导读:使用默认内置Visual Studio 2012(v110)编译器或2012年11月CTP(v120_CTP_Nov2012)编译器的Visual Studio 2012 Professional(安装了Update 1),不会编译函数的__func__ C 11本地预定义变量.但是,编辑不会在__func__下面投诉任何红色的下划线. __func__应该给它
使用默认内置Visual Studio 2012(v110)编译器或2012年11月CTP(v120_CTP_Nov2012)编译器的Visual Studio 2012 Professional(安装了Update 1),不会编译函数的__func__ C 11本地预定义变量.但是,编辑不会在__func__下面投诉任何红色的下划线. __func__应该给它的包含函数的名称,在这种情况下是foo,但是这两者都不编译也不会使编辑器抱怨:
#include <iostream> using namespace std; void foo() { cout << __func__ << endl; return; } int main() { foo(); return 0; } 它给出编译器错误: error C2065: '__func__' : undeclared identifier 我在我的代码中缺少某些东西,还是将来会更新? 解决方法
一般MSVC的C99支持相当差;您最好的选择是使用MSVC特定的__FUNCTION__宏.详见这个问题:
Cross-platform defining #define for macros __FUNCTION__ and __func__
更新(2015-06-22):Visual Studio 2015支持__func__,请参阅blog post (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |