Unreal Engine 4.24.3: 在头文件中声明 TArray<FString> 时没有构造函数实例出错
Unreal Engine 4.24.3: No instance of constructor Error when declaring TArray<FString> in a header file
我一直在尝试创建一个头文件来声明 FStrings 的 TArray,但不断收到以下编译器错误:
"C++ no instance of constructor matches the argument list argument types are: (const wchar_t [6], const wchar_t [6], const wchar_t [6], const wchar_t [6], const wchar_t [6])"
我已经阅读了 Unreal here 关于声明和初始化 TArray 无济于事的文档:https://docs.unrealengine.com/en-US/Programming/UnrealArchitecture/TArrays/index.html
const TArray<FString> WordList;
WordList.Add("test");
尝试此操作时,编译器抛出错误,指出没有存储 class 或类型说明符。
在 Unreal 的头文件中声明 TArray 的正确方法是什么?
#include "CoreMinimal.h"
const TArray<FString> WordList = {
TEXT("chart"),
TEXT("quest"),
TEXT("crows"),
TEXT("bears"),
TEXT("loves") };
它看起来没问题,它在我的 VStudio 中编译,我不确定那个错误,但准确地说,错误说你创建了一个包含 "FString" 个项目的 TArray 并且你正在添加 TEXT("abcd") 类型为 "wchar_t*"。
试试这个:
#include "CoreMinimal.h"
const TArray<wchar_t*> WordList = {
TEXT("chart"),
TEXT("quest"),
TEXT("crows"),
TEXT("bears"),
TEXT("loves") };
或
#include "CoreMinimal.h"
const TArray<FString> WordList = {
"chart",
"quest",
"crows",
"bears",
"loves" };
以下代码仅适用于 .cpp 文件,您应该删除 const
以使用 Add
:
TArray<FString> WordList;
WordList.Add("test");
我一直在尝试创建一个头文件来声明 FStrings 的 TArray,但不断收到以下编译器错误:
"C++ no instance of constructor matches the argument list argument types are: (const wchar_t [6], const wchar_t [6], const wchar_t [6], const wchar_t [6], const wchar_t [6])"
我已经阅读了 Unreal here 关于声明和初始化 TArray 无济于事的文档:https://docs.unrealengine.com/en-US/Programming/UnrealArchitecture/TArrays/index.html
const TArray<FString> WordList;
WordList.Add("test");
尝试此操作时,编译器抛出错误,指出没有存储 class 或类型说明符。
在 Unreal 的头文件中声明 TArray 的正确方法是什么?
#include "CoreMinimal.h"
const TArray<FString> WordList = {
TEXT("chart"),
TEXT("quest"),
TEXT("crows"),
TEXT("bears"),
TEXT("loves") };
它看起来没问题,它在我的 VStudio 中编译,我不确定那个错误,但准确地说,错误说你创建了一个包含 "FString" 个项目的 TArray 并且你正在添加 TEXT("abcd") 类型为 "wchar_t*"。 试试这个:
#include "CoreMinimal.h"
const TArray<wchar_t*> WordList = {
TEXT("chart"),
TEXT("quest"),
TEXT("crows"),
TEXT("bears"),
TEXT("loves") };
或
#include "CoreMinimal.h"
const TArray<FString> WordList = {
"chart",
"quest",
"crows",
"bears",
"loves" };
以下代码仅适用于 .cpp 文件,您应该删除 const
以使用 Add
:
TArray<FString> WordList;
WordList.Add("test");