cow1330 发表于 2018-1-4 11:23:20

c++ date table無法執行

程式新人

小弟正在試把玩家的資訊做成表格,目標是想做成類似RPG的升級那樣
但試 date table 的工能一直試不出來,想請大家幫忙一下
看問題是在那



參考這篇官方的教學
https://docs.unrealengine.com/latest/CHN/Gameplay/DataDriven/index.html




rrfetch 发表于 2018-1-4 13:20:27

本帖最后由 rrfetch 于 2018-1-4 13:28 编辑

错误信息是说, 你在 PlayerData.h 里面的 int32 没有定义. 你先改成 int 看看.

如果成功, 在看下是不是抄错了, 应该是 int32_t

另外, 图片看不清啊. 最好把错误消息复制发上来

aerjolti 发表于 2018-1-4 13:47:02

头文件没有定义构造和析构函数,源文件中却有实现的方法,应该是无法找到定义!继承FTableRowBase,应该不是必须需要构造和析构函数的,试着去掉看看。

xyxcx 发表于 2018-1-4 15:04:09

把.h文件中的头文件改成Playerdate.generated.h然后再试一下

cow1330 发表于 2018-1-5 10:01:57

本帖最后由 cow1330 于 2018-1-5 10:03 编辑

想說附圖比較好看問題再那,但不知圖會被縮小反而不好
在此先跟大家說道歉



#include "Engine/DataTable.h"
#include "Playerdate.generated.h"

USTRUCT(BlueprintType)
struct FPlayerdata public FTableRowBase
{
    GENERATED_USTRUCT_BODY()

    UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ClassInfo")
      int StartMHP;
    UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ClassInfo")
      int StartMMP;
};



小弟在UE4建立 C++ CLASS 時,是選 NONE,就直接輸入了,這是小弟目前的程式碼
目前試過大家的方法,但還是找不出我的問題



錯誤訊息附圖,COPY出來怪怪的
圖裁減小點應該沒問題





xyxcx 发表于 2018-1-5 15:42:08

1. .cpp中的类Playerdate与.h中的类FPlayerdata声明不一致
2. .h文件中构造/析构函数未定义

假定文件名为Playerdata,类为FPlayerdata

Playerdata.h

#include "Engine/DataTable.h"
#include "Playerdata.generated.h"

USTRUCT(BlueprintType)
struct FPlayerdata : public FTableRowBase
{
        GENERATED_USTRUCT_BODY()

        UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ClassInfo")
        int32 StartMHP;
        UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ClassInfo")
        int32 StartMMP;

public:
        FPlayerdata();
        ~FPlayerdata();
};


Playerdata.cpp

#include "Playerdata.h"

FPlayerdata::FPlayerdata()
{
}

FPlayerdata::~FPlayerdata()
{
}

析构函数可以去掉,因为UPROPERTY()垃圾回收机制
页: [1]
查看完整版本: c++ date table無法執行