Siema.
Nie wiem czym to jest spowodowane, ale przy kompilacji dostaję coś takiego:
CpuBus.hpp
#pragma once
#include "CPU6502.hpp"
#include "PPU.hpp"
#include "Cartridge.hpp"
#include <cstdint>
#include <cstring>
class CpuBus
{
public:
uint8_t* memory;
private:
CPU6502 cpu;
PPU ppu;
Cartridge cartridge;
public:
CpuBus(size_t size);
~CpuBus();
uint8_t* read(uint16_t address);
void write(uint16_t address, uint8_t data);
void clear_memory(size_t size);
};
PPU.hpp
#pragma once
#include "CpuBus.hpp"
#include "Byte.hpp"
class PPU
{
public:
CpuBus bus = CpuBus(16 * 1024);
// Registers
Byte ppu_ctrl;
Byte ppu_mask;
Byte ppu_status;
Byte ppu_scroll;
Byte ppu_addr;
Byte ppu_data;
Byte oam_addr;
Byte oam_data;
Byte oam_dma;
public:
void clear_memory();
void write_to_memory(uint16_t address, uint8_t data);
uint8_t* read_from_memory(uint16_t address);
};
Nie wiem czy to jakiś problem z kolejnością include'ów?
Nie mam już pomysłów, będę wdzięczny za jakieś wskazówki.