Я заголовочный файл, в котором я декларировать некоторые константы с ехЬегпом:C++ Как делить константы с экстерном между кастами - Ошибка: классом хранения указано
#ifndef CONSTANTS_H
#define CONSTANTS_H
#include <string>
class Constants
{
public:
Constants(){}
extern const std::string DELIMITER;
extern const std::string FILENAME;
extern const int BLUCAR;
extern const int REDCAR;
extern const int EMPTY;
extern const int SPARSE_LIM;
protected:
private:
};
#endif // CONSTANTS_H
Тогда в источнике я определяю их следующим образом:
#include "constants.h"
extern const std::string DELIMITER = ",";
extern const std::string FILENAME = "cars.csv";
extern const int BLUCAR = 1;
extern const int REDCAR = 2;
extern const int EMPTY = 0;
extern const int SPARSE_LIM = 5;
Почему компилятор дает мне ошибку: класс хранения указан для «DELIMITER»?
Удаление определения класса, конструктор и модификаторы доступа решается ошибка. Правильно ли это? – rh0x