Мне нужно получить доступ к глобальной переменной из функции. Моя декларация выглядит следующим образом:Доступ к глобальной статической переменной
file: HeaderFile.hpp
namespace SomeNamespace {
static SomeClass *globalvariable;
}
Я должен получить доступ к этому из другого файла (CPPFILE.cpp
- in which I have #include HeaderFile.hpp
). У меня есть локальная переменная:
SomeClass *localvariable
После изменения этого localvariable в функции, мне нужно назначить его GlobalVariable. Например:
SomeNamespace::globalvariable = localvariable;
Хотя это не работает. Что бы я ни печатал, я получаю сообщение об ошибке. Либо этот тип не определен (VS сообщает, что он автоматически меняет его на int, но тогда это несоответствие класса), или если я пишу класс до globalvariable, я получаю ошибку, которую я пытаюсь переопределить.
Обратите внимание, что я не знаком с C++ и указателями.
EDIT:
SomeNamespace::globalvariable = localvariable
ERROR: missing type specifier - int assumed. Note: C++ does not support default-int
SomeClass * SomeNamespace::globalvariable = localvariable
ERROR: SomeClass * SomeNamespace::globalvariable redefinition
Попробуйте создать [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) и покажите нам и, пожалуйста, укажите фактические ошибки, которые вы получаете. –
«глобальный статический» - это противоречие в терминах. Я предлагаю пересмотреть основы, прежде чем пытаться работать над многофайльными проектами. –
См. Править. – Wanderer