У меня проблема с кодом ниже:
ProgrammSettings.h
#pragma once
static class ProgrammSettings
{
public:
static int fd;
};
Settings.cpp
#include "ProgrammSettings.h"
static bool LoadSettings()
{
ProgrammSettings::fd = 2; // here error Unresolved symbol!!
return true;
}
Что я делаю не так?
Спасибо!
В отличие от переменных экземпляра, которые требуют только объявления, статические переменные-члены класса также должны быть определенный.
В настоящее время ваш код содержит только декларацию. Добавить определение вашей статики fd
Переменная в файл cpp для исправления ошибки:
int ProgrammSettings::fd;
Вам нужно добавить следующую строку в начало вашего файла cpp
int ProgrammSettings::fd;
Объявления членов статических данных в объявлении класса не являются их определением
Вы забыли добавить определение, соответствующее вашей декларации fd
,
Вы должны явно определить члены статических данных вашего класса.