"期望类型' char *',但参数2的类型为' void"

时间:2017-07-20 12:49:10

标签: c

代码:

printf( "%s", __builtin_return_address(0));

警告:

  

格式'%s'期望类型' char *',但参数2的类型为' void

附注我一直在试验一些注册关键字..也许上面的命令会提供一些信息,如果它有效。

2 个答案:

答案 0 :(得分:4)

根据gcc.gnu.org,函数语法:

void * __builtin_return_address (unsigned int level)

函数返回void*。因此,请使用%p格式说明符而不是%s

答案 1 :(得分:2)

如果要打印地址,则需要相应的说明符,

printf("%p\n", __builtin_return_address(0));

应该有用。