Исключение при доступе к классу - PullRequest
0 голосов
/ 30 ноября 2018

Я получил исключение (LoadProjected на ESP32) при доступе к членам класса.У меня нет никаких идей о том, как действовать.

Код выглядит следующим образом:

Заголовочный файл:

#define BUFFERLEN 5

typedef struct {
    uint16_t    values[BUFFERLEN];
} valuesStruct_t;

class RUNNINGVALUES
{
public:
    RUNNINGVALUES();
    ~RUNNINGVALUES();

    void initialize();
    void displayValues();
private:
    valuesStruct_t  valTest;
};

extern RUNNINGVALUES runningValues;

Файл C ++

RUNNINGVALUES runningValues;

RUNNINGVALUES::RUNNINGVALUES()
{
}

RUNNINGVALUES::~RUNNINGVALUES()
{
}

void RUNNINGVALUES::initialize()
{
    for (int i = 0; i < BUFFERLEN; i++) {
        valTest.values[i] = 0;
    }
};
void RUNNINGVALUES::displayValues()
    {
        Serial.printf("Test values: %u\n", valTest.values[0]);
    };

(все остальные функции удалены)

При запуске программы на устройстве ESP32 я получил исключение LoadProjected с адресом, близким к нулю.(Из руководства по API ESP32: если этот адрес близок к нулю, это обычно означает, что приложение пыталось получить доступ к элементу структуры, но указатель на структуру был равен NULL.)

Я не понимаю, чтоможет быть не так?Есть идеи?

...