2

わかりました、この特定の問題には何百万ものバリエーションがあることを知っています。(必死に) それらすべてを調べて、それらが当てはまるかどうかを確認しようとしましたが、役に立ちませんでした。

現在、ヘッダー ファイルで両端キューを宣言しようとしていますが、言及されたエラーのために、いまいましいことができません。私のプロジェクトの多くで同じことが起こります.C ++クラス構文の知識に欠けている基本的なものだと思います.

main.cpp

#include <iostream>
#include <fstream>
#include <string>
#include <deque>
#include "Card.h"
#include "random.h"

using namespace std;

void            createloop();
int             get_option();
deque <Card>    make_new_deck();
deque <Card>    load_new_deck();

int main()
{
    createloop();
    return 0;
}

明確にするために、ファイルの残りの部分は表示していませんが、それが問題ではないと確信しています。Card.h に次のエラーが表示されます。

カード.h

#ifndef CARD_H
#define CARD_H

class Card
{
    public:
        Card();

        deque<string> param_name_deque;
        deque<double> param_value_deque;
        virtual ~Card();
    protected:
    private:
};

#endif // CARD_H

card.cpp

#include "Card.h"


Card::Card()
{
    //ctor
}

Card::~Card()
{
    //dtor
}

助けていただける方へ - 事前に感謝します! ここで何が悪いのか理解できたとき、私はとても幸せです!!!

4

2 に答える 2

6

ヘッダー ファイルに std::deque と std::string の両方を含める必要がありますcard.h

#include <string>
#include <deque>

その間、

deque<string> param_name_deque;
deque<double> param_value_deque;

する必要があります

std::deque<std::string> param_name_deque;
std::deque<double> param_value_deque;
于 2013-04-10T01:38:42.670 に答える
3

andを宣言するときにnamespaceinを指定する必要があります。card.hparam_name_dequeparam_value_deque

std::deque<std::string> param_name_deque;
std::deque<double> param_value_deque;

適切なヘッダーを含めます。

#include <string>
#include <deque>

名前空間 std の使用は避けます。便利に思えるかもしれませんが、最終的には問題が発生します。

于 2013-04-10T01:39:14.257 に答える