This declaration has no storage class or type specifier Error. Help.

I am new to programming in unreal, and am having this error “This declaration has no storage class or type specifier”. How can i fix it?


#pragma once

#include "UObject/Object.h"
#include "SkeletonClass.generated.h"

UCLASS(Blueprintable, BlueprintType)
class MYPROJECT3_API USkeletonClass : public UObject
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "SkeletonID");
int id;

USkeletonClass(const FObjectInitializer& ObjectInitializer);
UFUNCTION(BlueprintCallable, Category = "SetID")
virtual void SetID(const int& ID);


#include "MyProject3/MyProject3.h"
#include "SkeletonClass.h"

USkeletonClass::USkeletonClass(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
id = 0;

void USkeletonClass::SetID(const int& ID)


You need to post which line is giving you that error. I imagine it’s the constructor, if you’re going to use that constructor setup - you need to pass in the default argument as well when you declare the constructor

// .h
USkeletonClass(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());

Your .cpp file looks fine. If you still get the error trying adding:

#include "CoreMinimal.h"

To the top of your .h file.

Remove the “&” from the SetID function. Should be like this. Also, as far as I know you don’t have to use the ObjectInitializer anymore. It is deprecated.

virtual void SetId(const int32 Id);

Ok, it turns out I simply wasnt creating class the right way. To create a u-object class you have to select object class as the the parent class when youare in the unreal C++ class creation user interface. I was simply selecting “none” as the parent class. this was my problem.