Styling Slate menu errors with 4.9

I’m on engine version 4.9 and created a basic main menu following this tutorial. Now I’m stuck with part two. I followed everything but I got many errors at GlobalMenuStyle.h.

struct FGlobalStyle : public FSlateWidgetStyle

gives me ‘struct FSlateWidgetStyle Error: incomplete type is not allowed’.
Visual Studio is also complaining about


with ‘Error: this declaration has no storage class or type specifier’.
And classes like FButtonStyle are undefined.

Were there changes to Slate so that including SlateWidgetStyleContainerBase.h is not enough or am I missing something else?

GlobalMenuStyle.h (copied from the tutorial):

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
// GlobalMenuStyle.h - Provides a global menu style! 
#pragma once
#include "SlateWidgetStyleContainerBase.h" 
#include "GlobalMenuStyle.generated.h" 
// Provides a group of global style settings for our game menus! 
struct FGlobalStyle : public FSlateWidgetStyle
        // Stores a list of Brushes we are using (we aren't using any) into OutBrushes.
	virtual void GetResources(TArray<const FSlateBrush*>& OutBrushes) const override;
        // Stores the TypeName for our widget style.
	static const FName TypeName;
        // Retrieves the type name for our global style, which will be used by our Style Set to load the right file. 
	virtual const FName GetTypeName() const override;
        // Allows us to set default values for our various styles. 
	static const FGlobalStyle& GetDefault(); 
        // Style that define the appearance of all menu buttons. 
	UPROPERTY(EditAnywhere, Category = Appearance)
	FButtonStyle MenuButtonStyle;
        // Style that defines the text on all of our menu buttons. 
	UPROPERTY(EditAnywhere, Category = Appearance)
	FTextBlockStyle MenuButtonTextStyle;
        // Style that defines the text for our menu title. 
	UPROPERTY(EditAnywhere, Category = Appearance)
	FTextBlockStyle MenuTitleStyle;
// Provides a widget style container to allow us to edit properties in-editor
UCLASS(hidecategories = Object, MinimalAPI)
class UGlobalMenuStyle : public USlateWidgetStyleContainerBase
        // This is our actual Style object. 
	UPROPERTY(EditAnywhere, Category = Appearance, meta = (ShowOnlyInnerProperties))
	FGlobalStyle MenuStyle;
        // Retrievs the style that this container manages. 
	virtual const struct FSlateWidgetStyle* const GetStyle() const override
		return static_cast<const struct FSlateWidgetStyle*>(&MenuStyle);

For me it fixed:

#include "SlateBasics.h" 

instead of

#include "SlateWidgetStyleContainerBase.h"