c++ - 无法创建 wchar_t 数组

标签 c++ arrays compiler-errors wchar-t

在我的代码中,我有一个 wchar_t 数组:

wchar_t paths [6] = {L"C:\\Program Files\\SomeAppsSuiteFolder1", L"C:\\Program Files\\SomeAppsSuiteFolder2", L"C:\\Program Files (x86)\\SomeAppsSuiteFolder1", L"C:\\Program Files (x86)\\SomeAppsSuiteFolder2", L"C:\\SomeAppsSuiteFolder1", L"C:\\SomeAppsSuiteFolder2"};

稍后我在 for 循环中使用数组。问题是,对于这一行,我收到以下错误:

error: too many initializers for 'wchar_t [6]'
error: initializer-string for array of chars is too long [-fpermissive]

此外,在 for 循环中,我有 if 条件语句,如下所示:

if(GetFileAttributesW(paths[i])!=INVALID_FILE_ATTRIBUTES) {...}

而且,我再次在这里遇到错误:

error: invalid conversion from 'wchar_t' to 'LPCWSTR {aka const wchar_t*}' [-fpermissive]

奇怪的是,类似的代码在几个月前就可以正确编译了……这是什么问题?

最佳答案

你需要

const wchar_t* paths[6] = ....

关于c++ - 无法创建 wchar_t 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17442502/

相关文章:

c++ - 微妙的快速排序稳定性问题

c++ - 编译器可以删除 `memset` 函数调用吗?

arrays - 如何从字典数组中的所有同名键中检索值

arrays - 尝试使用 contains() 将字符串与数组内对象内找到的字符串进行比较

ios - 无法在 Objective C 类中使用 Swift 协议(protocol),因为它会导致段错误 : 11

java - 我正在做一个独特的值(value)java程序。我尝试错误

c++ - 使用 Winsock 的简单 HTTP 获取

c++ - 具有不同可能性的随机整数

java - 如何检查数组中是否有重复的数字?

c# - (ILC0005错误)我无法编译UWP x64/x86发布项目