gpt4 book ai didi

c++ - 无法识别 PRIxPtr

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:08:17 25 4
gpt4 key购买 nike

我正在使用 gcc 4.7.0 编译我的代码。我的代码在 4.6.1 上编译得很好。但是对于 4.7.0,它显示:

unable to find string literal operator ?operator"" PRIxPTR?

我已经包含了正确的 inttypes.h 文件。如果我尝试重新定义它,它会提示说它已经被定义了。

错误代码如下:

printf("%016"PRIxPTR" ", addr);

您能说出解决方案/解决方法吗?谢谢。

最佳答案

在 PRIxPTR 前加一个空格:

printf("%016" PRIxPTR" ", addr);
// ^

原因是因为gcc 4.7 , user-defined literals在 C++11 模式下受支持。一个结果是 "%016"PRIxPTR 不再是两个单独的标记,并且可以定义(尽管 GCC 不允许)用户定义的文字来做一些奇怪的事情,例如

size_t operator"" PRIxPTR(const char* input) { return strlen(input); }

(如果您使用 C++11 模式但遇到此错误,请将错误发布到 GCC。)

关于c++ - 无法识别 PRIxPtr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9982574/

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