глобальные переменные в пространствах имен c ++ - PullRequest
1 голос
/ 06 ноября 2019

Я пытаюсь определить глобальное определение общего указателя в пространстве имен, чтобы каждый класс в этом пространстве имен мог использовать их. Эти указатели определены в cpu_consts.h (cpu - это пространство имен). Я знаю, что внешние переменные должны быть определены вне функции / пространства имен. Это делается в cpu_class.cpp, поскольку это класс, который включает все классы в пространстве имен. Как мне предопределить shared_ptr?

Класс Register также находится в пространстве имен процессора.

Я уже пробовал предопределять int, что работает:

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

int cpu::yote;
namespace cpu {
...
}

cpu_consts

#pragma once
#include <iostream>
#include <memory>


namespace cpu {
    class Registers;

    extern int yote;
    extern std::shared_ptr<Registers> registerPointer;
    extern Registers challas;
}

cpu_class.cpp

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

int cpu::yote;
... predefine shared_ptr how ?? Registers cpu::challas does not work
namespace cpu {
...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...