【发布时间】:2013-06-23 23:44:33
【问题描述】:
我对执行此操作的正确方法有些困惑。我有一个包含字符串的#DEFINE,我有一个我想设置为该字符串的CHAR16*。我将如何正确地做到这一点?我试过了:
#DEFINE MYSTRING "HELLO"
CHAR16* THISONE;
THISONE = MYSTRING;
为什么这不起作用?我希望能够打印出THISONE 中的字符串。我收到有关不兼容类型的编译器警告。我确定我错过了一些小东西?
【问题讨论】:
-
C 还是 C++?它们不一样。
-
您可能需要 L"HELLO" 或 u16"HELLO" 之类的内容,因为 "HELLO" 是一个窄字符串文字,很可能与 CHAR16* 不兼容。
-
什么是
CHAR16? C 或 C++ 标准没有定义这种类型。而#DEFINE是语法错误;这是#define。 -
抱歉,我无法将我的真实代码用于 NDA 问题。我正在使用 EDK2 的框架,我应该提到。这是 C。
-
哦EFI,有时候我真的不想你....
标签: c++ c variable-assignment