C++ Identificateur non déclaré (mais elle est déclarée?)

Je suis sûr que je ai inclus le qanda classe, mais quand j'ai essayer de déclarer un vecteur qui contient ou une classe de ce type, je reçois un message d'erreur indiquant que qanda est pas défini. Toute idée de ce que peut être le problème?

bot_manager_item.h

#pragma once

#include "../bot_packet/bot_packet.h"
#include <vector>

class bot_manager_item;
#include "qanda.h"
#include "bot_manager.h"

class bot_manager_item
{
public:
    bot_manager_item(bot_manager* mngr, const char* name, const char* work_dir);
    ~bot_manager_item();

    bool startup();
    void cleanup();
    void on_push_event(bot_exchange_format f);
    bool disable;

private:
    void apply_changes();
    bot_manager *_mngr;

    std::string _name;
    std::string _work_dir;
    std::string _message;
    std::string _message_copy;
    std::vector<qanda> games;
    qanda test;

    char _config_full_path[2600];
};

qanda.h

#ifndef Q_AND_A
#define Q_AND_A

#include "users.h"
#include "..\bot_packet\bot_packet.h"
#include "bot_manager.h"
#include <string>
#include <algorithm>
#include <map>
#include <vector>
#include <fstream>


class qanda
{
public:
    qanda(bot_manager * manager, std::string name, std::string directory);
    ~qanda(){};
    void room_message(std::string username, std::string user_message);
    void timer_tick();

private:
    //data members
    std::string question;
    std::string answer;
    std::string directory;
    std::string command_prefix;
    std::string name;

    Users users;
    std::map <std::string, std::string> questions_and_answers;

    int time_per_question; //seconds
    int time_between_questions; //seconds
    int timer; //milliseconds

    bool is_delayed;
    bool is_playing;

    bot_manager * manager;

    //functions
    void new_question();
    void send_message(std::string msg);
    void announce_question();
    void load_questions();

};

#endif

Résolu: j'ai fini le refactoring du code de manière à éviter l'utilisation de bot_manager dans le qanda classe.

  • Pouvez-vous poster le message d'erreur réel?
  • En gros c'était: Intellisense: qanda Identificateur non déclaré.
  • Je suis en train de travailler sur la résolution d'autres bugs maintenant.
InformationsquelleAutor Joshua | 2010-12-24