Я отчаянно пытаюсь получить общую переменную между двумя классами на C++, но я не могу ее разглядеть. Я пробовал getters и seters и называл его как статическую переменную, но ничего.C++ Не удается получить доступ к общедоступной переменной между классами
Это то, что я пробовал:
DataGrabber.h
#pragma once
class DataGrabber {
public:
static float temp;
void readProcess(){
temp = 1.2;
}
}
Particle.h
#pragma once
class Particle {
public:
void update() {
float x = DataGrabber::temp;
}
И ТОГДА ЭТО:
DataGrabber.h
#pragma once
class DataGrabber {
public:
float temp;
float get(){return temp;}
void readProcess(){
temp = 1.2;
}
}
Particle.h
#pragma once
class Particle {
public:
void update() {
float x = DataGrabber.get();
}
Они оба являются #include в другом главном заголовке, testApp.h.
Не знаю, что вы просите. –
'DataGrabber' является _type_ и не может использоваться так, как в вашем втором примере. Если вы хотите называть его без экземпляра 'DataGrabber', то член (т.е.' get') должен быть 'static' _and_, вам нужно предоставить такое квалифицированное имя, как' DataGrabber :: get' или 'DataGrabber :: temp' , –
Первый пример выглядит так, как будто он может работать. Какое сообщение об ошибке вы получаете? Вы включаете DataGrabber.h из Particle.h? –