# Implementation error

**URL:** <https://forums.unrealengine.com/t/implementation-error/318216>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine\
**Created:** [May 11, 2015, 4:16pm UTC](https://forums.unrealengine.com/t/implementation-error/318216 "2015-05-11T16:16:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![yarpoplar](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@yarpoplar](https://forums.unrealengine.com/u/yarpoplar)\
**Post date:** [May 11, 2015, 4:16pm UTC](https://forums.unrealengine.com/t/implementation-error/318216/1 "2015-05-11T16:16:13Z")

</div>

Currently I’m working on this [this tutorial](https://www.youtube.com/watch?v=ZPn4N3ckP8I) (it’s pretty outdated API, but in comments I found actual version of the code 4.7.5). And I have some problems with it:

1. adding `_Implementation()` - Visual Studio highlights it as error! Am I doing something wrong?
2. To call ObjectInitializer we must introduce it in function, like this `APickup::APickup(const FObjectInitializer& ObjectInitializer)`? Visual Studio this as error, telling me that “No instance of overloaded function `APickUp::APickUp`”. Do I missed something?
3. Do internet have updated tutorials for C++ in Unreal, except of API?

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_41845f4a](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_41845f4a](https://forums.unrealengine.com/u/anonymous_user_41845f4a)\
**Post date:** [May 11, 2015, 7:09pm UTC](https://forums.unrealengine.com/t/implementation-error/318216/2 "2015-05-11T19:09:29Z")

</div>

Hi ,

If \_Implementation() is giving you issues, please be sure that you have already declared the function in the .h file and also defined the function without the implementation before it such as:

```
APickUp::OnPickedUp()
{

}

APickUp::OnPickedUp_Implementation()
{
      //Your code here
}

```

I don’t understand why that would be giving you an issue. Are you defining this in the .cpp or the .h? Be sure that you are not trying to declare it in the .h before defining in the .cpp, as the ‘GENERATED\_UCLASS\_BODY’ that is being used in the tutorial takes care of the declaring for you. If you are using 'GENERATED\_BODY" however, be sure to add the following to the .h

```
APickUp(const FObjectInitializer& ObjectIntializer);

```

as a declaration.

The only tutorials we have that are kept up to date on a regular basis are the documentation ones that you mentioned. I would suggest that you check out the community wiki as a lot of users make tutorials of their own to help others.

> **[A new, community-hosted Unreal Engine Wiki](https://forums.unrealengine.com/t/a-new-community-hosted-unreal-engine-wiki/141494)**
>
> After over a year in maintenance mode, the official Unreal Engine Wiki is now permanently offline. These resources now live on a new community-run Unreal Engine Community Wiki — https://unrealcommunity.wiki/! You will be able to find content from...

I hope this information helps!

---

<div class="post-metadata">

**Author:** ![yarpoplar](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@yarpoplar](https://forums.unrealengine.com/u/yarpoplar)\
**Post date:** [May 12, 2015, 6:50am UTC](https://forums.unrealengine.com/t/implementation-error/318216/3 "2015-05-12T06:50:27Z")

</div>

Thank you very much!  
What difference between ‘GENERATED\_UCLASS\_BODY’ and ‘GENERATED\_BODY’?

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_8e2766aa](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_8e2766aa](https://forums.unrealengine.com/u/anonymous_user_8e2766aa)\
**Post date:** [May 12, 2015, 7:23am UTC](https://forums.unrealengine.com/t/implementation-error/318216/4 "2015-05-12T07:23:28Z")

</div>

Hello, yarpolar

`GENERATED_BODY()` is the new version of `GENERATED_UCLASS_BODY()` macro.

When using `GENERATED_BODY()`, you don’t have to implement a constructor for each class (however, you can do it if you need one).  
Another difference is that `GENERATED_BODY()` macro doesn’t have “public:” keyword in it. Thus, all class members, declared after it are private by default (as in every class in pure C++), so you have to explicitly declare access specifiers for them in case you want to change this.

Hope this helped!

Good luck!
