Я в основном программист на C#, но мне нужен этот проект, выполненный на C++, поэтому я могу что-то пропускать для массивов C++.Почему массив строк вызывает ошибку LNK2001?
У меня есть DLL, над которой я работал, ведь она работает и подключается к проекту, который обрабатывает пользовательский интерфейс. В DLL я пытаюсь сделать класс журнала, чтобы я мог отлаживать информацию в интерфейсе. Но когда я пытаюсь использовать строковый массив, я получаю ошибку LNK2001. Bellow - мой заголовочный файл для класса.
#include <string>
using namespace std;
class Logger
{
public:
static string& GetLog();
static void Log(string message);
private:
static const int maxLogs = 1000;
static string logs[maxLogs];
};
Если удалить массив строк больше нет ошибка, но мне нужен способ хранить мои сообщения журнала
ли вы инициализировать 'logs' где-нибудь? – Derek
Вам нужно определить статический член, а не просто объявить его. –
Никогда не используйте «using namespace std;» в файле заголовка является обычной практикой. – alexbuisson