簡體   English   中英

C ++對Holder :: menus的未定義引用(結構)

[英]C++ Undefined reference to Holder::menus (Struct)

好的,因此我定義了一個結構,如下所示:

#ifndef __STRUCTS_H__
#define __STRUCTS_H__

struct counts {
    int views = 0;
    int inits = 0;
};

#endif

我有一個類,它將具有所有類都可以使用的完全靜態的方法和變量。

#ifndef __HOLDER_H__
#define __HOLDER_H__

#include "Structs.h"

class Holder
{
public:
    static counts menus;

    Holder() {
        menus = counts();
    }
};

#endif

因此,我嘗試使用此方法,並且編譯器吐出錯誤“對Holder :: menus的未定義引用”

這是觸發此操作的段(HelloWorldScene.cpp)

#include "HelloWorldScene.h"
#include "SimpleAudioEngine.h"
#include "Holder.h"
#include "Structs.h"

USING_NS_CC;

HelloWorld::HelloWorld(void)
{
    //Constructor
    Debug::crashLog("**__Menu Deinit__**");
    //SUDO Missing stuff
    Holder::menus.inits -= 1;
}

為什么會有問題?

在您的Holder實施文件中,您需要這樣做:

counts Holder::menus;

如果您沒有Holder.cpp文件(並且您不需要),則可以將其直接放入HelloWorldScene.cpp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM