我正在创建一个简单的c ++ texas hold&em;但是在一个类的一部分函数中遇到了问题。当我在类中的函数中使用类中的变量时,它将作为未定义的引用出现在" class :: variable"对于我在类中的4个静态变量。 以下是相关部分的代码:
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
class Player{
static string cards[53];
static string final_card1[6];
static string final_card2[6];
static string table_cards[5];
public:
string set_cards(int c){return cards[c];}
void set_final_card(int i, int max_i);
};
void Player::set_final_card(int i, int max_i){
int tempV = 17;//create temp cards
string tempCards[tempV];
int rand_nb[tempV];//Create distinct random numbers
bool check1 = false;
while (check1==false){
for(int p=0; p<tempV;p++){
tempCards[p]=cards[rand()%53];
check1=true;
for(int o=(p-1); o!=0; o--){
if (tempCards[p]==tempCards[o]){
check1=false;
}
}
}
}
int p=0,k;
while(p<6){
k=0;
final_card1[k]=tempCards[p];
k++;
}
while(p<12){
k=0;
final_card2[k]=tempCards[p];
k++;
}
while(p<17){
k=0;
table_cards[k]=tempCards[p];
k++;
}
}
在创建对象后,在int main()中声明该函数。对象是玩家[i]。如果你认为这个问题可能来自其他地方,我会发布完整的代码。
感谢您的反馈