Я пытаюсь сохранить указатель в качестве переменной-члена, чтобы в течение жизни класса другие функции могли работать с указателем.
Однако, когда я впервые настраиваю этот класс, переменная-указательверно для первого printf, но когда вызывается второй, значение равно 0x0
В моем основном случае setup вызывается сначала один раз, а затем вызывается update неоднократно.
переменные-членыобъявлены в файле h.
почему указатель меняется между первым и вторым printf?
// Main //
int Main(){
TestClass testclass;
unsigned char array[1000];
unsigned char * pVideoIn = array;
testclass.setup(pVideoIn);
for (int i =0; i < 100; i++)
{
testclass.update();
}
}
// header //
#ifndef _TEST_CLASS
#define _TEST_CLASS
class TestClass {
public:
void setup(unsigned char* videoIn);
void update();
unsigned char* videoInp;
unsigned char* videoOutp;
int noPixels;
};
#endif
// класс //
#include "TestClass.h"
void TestClass::setup(unsigned char* videoIn)
{
videoInp = videoIn;
videoOutp = videoOut;
noPixels = pixels;
printf("in class app = %p \n", videoInp);
}
void TestClass::update()
{
printf("in class app = %p \n", videoInp);
}