gpt4 book ai didi

c++ - 对静态整数数组的 undefined reference

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:27:34 24 4
gpt4 key购买 nike

我对 C++ 有点陌生,所以我正在制作一个文本角色扮演游戏之类的东西来测试我学到的东西。我想做到这一点,以便提示玩家输入他们三个角色中每个角色的职业(法师、战士、弓箭手等)。

字符类存储在称为 cls[] 的静态整数数组中。我宁愿保持静态而不是创建此类的对象,因为游戏中的几乎所有内容都会尝试访问该类的成员。但出于某种原因,它一直给我错误信息:未定义对“playerVars::cls”的引用。我猜这意味着它找不到数组之类的东西?如果能对这个主题有所启发,我将不胜感激。

intro.h
-----------------------------
#ifndef INTRO_H
#define INTRO_H
#include <iostream>

using namespace std;

class intro
{
public:
intro();
int inint;
void classDecide(int charUsed);
};

#endif


intro.cpp
-----------------------------
#include "intro.h"
#include "playerVars.h"

intro::intro()
{
classDecide(0); //Calls the classDecide function using your first of 3 characters
}

void intro::classDecide(int charUsed)
{
cin >> inint; //Asks for the number of the class that you want
playerVars::setClass(charUsed,inint);
}


playerVars.h
-----------------------------
#ifndef PLAYERVARS_H
#define PLAYERVARS_H

using namespace std;

class playerVars
{
public:
playerVars();
static int cls[3];
static void setClass(int classToSet, int setTo);
};

#endif


playerVars.cpp
-----------------------------
#include "playerVars.h"

playerVars::playerVars()
{
}

void playerVars::setClass(int classToSet, int setTo)
{
cls[classToSet]=setTo; //sets the class of player classToSet to setTo
//undefined reference to `playerVars::cls'
}

最佳答案

添加这个

int playerVars::cls[3] = {0};

到 playerVars.cpp

关于c++ - 对静态整数数组的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16842270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com