0

这是我的头文件,

样本.h

#pragma

#ifndef BASETYPES
#define BASETYPES

typedef char16_t WCHAR

#endif

这是我的 C 代码,

样本.c

WCHAR *name;
int main() {
}

上面的头文件最初只被 C++ 代码使用。现在我有一个 C 代码要编译,它使用相同的头文件。

当我使用 GCC 编译 C 代码时,出现以下错误,

"error G5688306C: unknown type name char16_t"

我读了这个,看起来它并不是一个真正的错误。

我面临的问题是否有任何解决方法或解决方法?请建议。

4

1 回答 1

2

char16_t不是内置的 C 类型。它是由C++11uchar.h标头中引入的。使用 GCC 启用 C++11-std=c++11功能

如果不能使用 C++11,则必须使用其他类型。
wchar_t或者uint16_t可能有用。

于 2019-06-17T19:09:01.653 回答