Указатель на объектный класс, бросающий "не называет тип" - PullRequest
0 голосов
/ 20 ноября 2010

У меня есть класс оборудования, имеющий указатель на объект класса TLB и инициализирующий его в конструкторе. Тем не менее, Codeblocks (GNU GCC) дает мне ошибку «proj3_hardware.h | 15 | ошибка: TLB не называет тип» "proj3_hardware.h | 15 | ошибка: ожидается ';' до '*' токена "

Я просто не вижу, где находится ошибка в коде. Спасибо.

proj3_hardware.h

#include <iostream>
#include "proj3_globals.h"
#include "proj3_pagetable.h"
#include "proj3_tlb.h"

class Hardware{

public:

    // Defines the hardware parts
    int global_simulation_time;
    TLB* tlb;
    PageManagement* pagemm;

    // Hardware constructor and methods
    Hardware(int pageTableType, int replacementAlgo);

    void execute();
    void diskaccess();

};

proj3_tlb.h

#include <iostream>
#include "proj3_globals.h"

// Assumes that the TLB is using LRU

class TLBEntry{

    public:

        char validEntry;
        int VirtualAddress;
        int PhysicalAddress;
        long LastUsed;
};

class TLB{

    private:

        TLBEntry entries[HARDWARE_TLBSIZE];
        int* simulation_time;

    public:

        TLB(int* simulation_time);

        void tlb_add(int virtualaddress, int physicaladdress);
        int tlb_lookup(int virtualaddress);
        void tlb_flush();

};

1 Ответ

0 голосов
/ 20 ноября 2010

Компилирует для меня.

Ошибка должна быть в другом коде;Проверьте другие файлы заголовков на наличие:

  • каких-либо подозрительных #define s
  • пропущенных точек с запятой?
  • неверно включить охрану (это мое лучшее предположение)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...