相关疑难解决方法(0)

在C++中访问静态类变量?

重复:
C++:对静态类成员的未定义引用

如果我有这样的类/结构

// header file
class Foo
{
   public:
   static int bar;
   int baz;
   int adder();
};

// implementation
int Foo::adder()
{
   return baz + bar;
}
Run Code Online (Sandbox Code Playgroud)

这不起作用.我得到一个"未定义的引用`Foo :: bar'"错误.如何在C++中访问静态类变量?

c++ static class

27
推荐指数
3
解决办法
6万
查看次数

链接器错误 - 请帮助:错误LNK2001:未解析的外部符号

我不确定我做错了什么,我认为所有内容都只定义了一次,所有内容都正确关联,但我想情况并非如此......

这是我的编译器给我的错误:

1>StaticElements.obj : error LNK2001: unresolved external symbol "private: static int Powerup_Health::g_refCount" (?g_refCount@Powerup_Health@@0HA)
1>StaticElements.obj : error LNK2001: unresolved external symbol "private: static class DBModel * Powerup_Health::g_pModel" (?g_pModel@Powerup_Health@@0PAVDBModel@@A)
1>StaticElements.obj : error LNK2001: unresolved external symbol "private: static int Powerup_QuadDamage::g_refCount" (?g_refCount@Powerup_QuadDamage@@0HA)
1>StaticElements.obj : error LNK2001: unresolved external symbol "private: static class DBModel * Powerup_QuadDamage::g_pModel" (?g_pModel@Powerup_QuadDamage@@0PAVDBModel@@A)
Run Code Online (Sandbox Code Playgroud)

码:

StaticElements.h

#pragma once

#include "D3DUtil.h"

class ContentManager;
class Level;
class GraphCamera;
class Powerup_Health;
class Powerup_QuadDamage;

class StaticElements
{
public:
    StaticElements(){};
    ~StaticElements(){};

    void PreLevelInitialisation(Level* pLevel);
    void …
Run Code Online (Sandbox Code Playgroud)

c++ linker-errors

2
推荐指数
1
解决办法
5680
查看次数

标签 统计

c++ ×2

class ×1

linker-errors ×1

static ×1