未定义的引用" class :: variable"

时间:2016-10-12 11:48:19

标签: c++

我正在创建一个简单的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]。如果你认为这个问题可能来自其他地方,我会发布完整的代码。

感谢您的反馈

0 个答案:

没有答案