背景
最近看UE4值复制那块,发现不少地方直接在cpp里就重写了GetLifetimeReplicatedProps,却没有在对应文件中去声明这个override.
例如 LevelSequenceActor中
原因
谷歌了一圈也没有看见相关问答,于是自己尝试做了下测试,发现可能和GENERATED_BODY()宏有关
遂继续翻源码,发现果然如此
添加GENERATED_BODY宏以后,在代码生成时会检测当前头文件中是否有GetLifetimeReplicatedProps字段
没有则动态添加
void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override; 这么句代码进去.
得解