Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual Studio 2017中的默认/样板代码给了我错误。E1574。不 真实 的。但建造成功了_C++_Visual Studio_Unreal Engine4 - Fatal编程技术网

C++ Visual Studio 2017中的默认/样板代码给了我错误。E1574。不 真实 的。但建造成功了

C++ Visual Studio 2017中的默认/样板代码给了我错误。E1574。不 真实 的。但建造成功了,c++,visual-studio,unreal-engine4,C++,Visual Studio,Unreal Engine4,我正在努力学习UE4,但目前我被困在做一些非常简单的事情。我想创建一个突破式的“桨”作为蓝图 但我有一个奇怪的问题,我的代码看起来不错(我直接从导师视频中复制代码),但在Visual Studio中,我得到了错误:E1574静态断言失败,出现了“TAtomic仅可用于普通类型”。我甚至删除了所有的代码,只留下了UE4提供的默认代码(当我点击“创建C++类>演员”)。构建时,错误仍然存在 我遇到的另一个问题是,对于我在代码中实例化的StaticMeshComponent,我的Padle_BP中的“

我正在努力学习UE4,但目前我被困在做一些非常简单的事情。我想创建一个突破式的“桨”作为蓝图

但我有一个奇怪的问题,我的代码看起来不错(我直接从导师视频中复制代码),但在Visual Studio中,我得到了错误:E1574静态断言失败,出现了“TAtomic仅可用于普通类型”。我甚至删除了所有的代码,只留下了UE4提供的默认代码(当我点击“创建C++类>演员”)。构建时,错误仍然存在

我遇到的另一个问题是,对于我在代码中实例化的StaticMeshComponent,我的Padle_BP中的“details”面板是空的。在本教程中,它提供了一个StaticMeshComponent,您可以在其中选择网格、添加物理和其他选项

这是我的密码:

桨。h:

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Paddle.generated.h"

UCLASS()
class SHIT_PONG_CPP_API APaddle : public AActor
{
GENERATED_BODY()

public: 
// Sets default values for this actor's properties
APaddle();

UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "ActorMeshComponents")
UStaticMeshComponent* StaticMesh;

protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;

public: 
// Called every frame
virtual void Tick(float DeltaTime) override;

};
划桨.cpp

#include "Paddle.h"

// Sets default values
APaddle::APaddle()
{  
// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;

StaticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("CustomStaticMesh"));

}

// Called when the game starts or when spawned
void APaddle::BeginPlay()
{
Super::BeginPlay();

}

// Called every frame
void APaddle::Tick(float DeltaTime)
{ 
Super::Tick(DeltaTime);

}
#包括“paile.h”
//设置默认值
APaddle::APaddle()
{  
//将此参与者设置为每帧调用Tick()。如果不需要,可以关闭此选项以提高性能。
PrimaryActorTick.bCanEverTick=true;
StaticMesh=CreateDefaultSubobject(文本(“CustomStaticMesh”);
}
//在游戏开始或生成时调用
void APaddle::BeginPlay()
{
Super::BeginPlay();
}
//调用每帧
void APaddle::勾选(浮动增量时间)
{ 
超级:滴答声(DeltaTime);
}

我已经阅读了Microsoft()关于更改编译器设置的线程()和页面。但是这些说明似乎已经过时了,我在我的选项中根本找不到“配置属性>C/C++>代码生成”。

我认为在Visual Studio中构建时会发生此错误。我认为如果从UE环境中编译,您将避免此错误。这里有一个来自虚幻论坛的链接,建议使用相同的解决方案:

Hmm。。。减一,不加评论。。。。好工作谁总是使用版本控制时,用虚幻的C++。我记得我写了一个错误的代码,导致我的蓝图被破坏,每次我试图打开它时,引擎都会崩溃,即使我重做了所有错误的代码。我不得不研究备份来恢复一些工作。但是现在有了版本控制,每次我搞糟了一些事情,我都可以毫无问题地回到以前的更改。我推荐使用版本控制。无论如何,请尝试删除中间文件并重建。谢谢。我确实与Unity建立了风投,而且我的旧项目也采用了原始代码。所以我应该能够做到这一点。我在一个新项目中也遇到了这个错误