好的,所以我有一个如此定义的结构:
#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;
}
为什么会有问题?
答案 0 :(得分:0)
在您的Holder
实施文件中,您需要:
counts Holder::menus;
如果您没有Holder.cpp
文件(并且您不想要),则可以将其直接放入HelloWorldScene.cpp
。