gpt4 book ai didi

c++ - __func__ C++11 函数的局部预定义变量,不会编译

转载 作者:IT老高 更新时间:2023-10-28 23:01:00 25 4
gpt4 key购买 nike

函数的 __func__ C++11 本地预定义变量无法在 Visual Studio 2012 Professional(安装了 Update 1)中使用默认的内置 Visual Studio 2012 (v110) 编译器进行编译,或者2012 年 11 月 CTP (v120_CTP_Nov2012) 编译器。但是,编辑器不会提示 __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

关于c++ - __func__ C++11 函数的局部预定义变量,不会编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15126387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com