已经包含inttypes.h 还是报错 expected ‘)’ before ‘PRId64’
时间: 2023-09-27 12:12:35 浏览: 168
这种情况可能是因为你的代码中使用了`PRId64`这个宏定义,但是它没有被正确地定义。可以尝试以下两种方法:
1. 在代码开头添加以下宏定义:
```c
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
```
这将强制启用所有C99标准定义的宏并包含`inttypes.h`头文件,从而使得`PRId64`被正确地定义。
2. 如果上述方法没有解决问题,可以手动定义`PRId64`宏:
```c
#ifndef PRId64
# if defined(_MSC_VER)
# define PRId64 "I64d"
# else
# define PRId64 "ld"
# endif
#endif
```
这个宏定义会根据不同的编译器和操作系统环境自动选择正确的格式化符号。将其添加到你的代码中,应该就能够正确地使用`PRId64`了。
阅读全文