for(int i='א'; i<='ת'; i++)
incList.Add( wxString::Format("%c", wxT(i));
我正在尝试使用wxT将Unicode字符添加到数组中。我收到此错误
error: 'Li' was not declared in this scope
导致错误的原因是什么,以及如何解决?感谢。
答案 0 :(得分:1)
wxT()是一个定义的宏:
#ifdef UNICODE
# define wxT(x) L##x
#else // !Unicode
# define wxT(x) x
#endif
当然,wxT(i)
变为Li
。它应该只用于字符串文字。
此外,为什么wxT()
会将int转换为字符串?请使用itow
。
答案 1 :(得分:0)
wxT()
用于对字符串文字进行操作,而非变量。
您可能想要wxString::FromUTF8(chars)
或wxString mystring2(chars, wxConvUTF8)
的内容。简单地传递char数组作为参数也可以,但取决于当前的语言环境。
哦,虽然我们正在努力......
for(int i='א'; i<='ת'; i++)
...请注意,在C ++源代码中使用基本字符集之外的字符(基本上是ASCII-7)是实现定义的。您应该使用转义序列。