繁体   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