0

未定義の参照を示すエラーメッセージが表示されます

encrypt(int, std::list<int, std::allocator<int> >*)

これが私がそれを使おうとしている方法です:

decka = new list<int>;
  ifstream inF;

  inF.open(filename.c_str());

  if (inF.fail()){
    cerr << "Error opening file" << endl;
    exit(1);
  }
  int deckcount = 28;
  int card;
  for(int i = 0; i != deckcount; i++){
    inF >> card;

    decka->push_back(card);
  }
  inF.close();

  if(eorD == "e")
    convertM(message);
    int esize = message.length();
    convertToNum(message);
    encrypt(esize, decka);
}

エラーは、私が暗号化を呼び出しようとしたところから発生しています。

暗号化機能は次のとおりです。

void encrypt(int msize, list<int> *L){

  int jokeA = 27;
  int jokeB = 28;

  list<int>::iterator a = std::find(L->begin(), L->end(), jokeA);
  list<int>::iterator new_position = a;
  for(int i=0; i < 1 && new_position != L->begin(); i++)
    new_position--;

  L->insert(new_position, 1, *a);

  L->erase(a);
}

そして、ここでクラスがどのように定義されているかを確認できます。

class DeckOps{
 public:
  DeckOps(string, string, string);
  ~DeckOps();
  string convertM(string);
  string convertToNum(string);
  void encrypt(int, list<int>*);

 private:

  list<int> *decka;

};

ここでの私の目標は、暗号化機能を使用してデッキの要素にアクセスできるようにすることです。

4

1 に答える 1

4
void encrypt(int msize, list<int> *L){

する必要があります:

void DeckOps::encrypt(int msize, list<int> *L){
于 2011-05-21T20:35:36.873 に答える