Создайте глобальный массив объектов в C ++ - PullRequest
0 голосов
/ 09 ноября 2018

Я работаю над ударной панелью для изучения программирования на C ++.

Я использую класс с именем DrumSensor, который мне нужно создать 5 раз в массиве.

Я использую файл заголовка "settings.h" для хранения переменных, которые я буду использовать в своем коде.

settings.h

extern DrumSensor sensor[5];

settings.cpp

#include "settings.h"
DrumSensor sensor[5];

Я много сталкивался с этим массивом глобальных объектов, но мне никогда не удавалось его скомпилировать.

Я пытался найти ссылки, такие как:

Создание массива объектов c ++

c ++ глобальный объект

Проблема в том, что, как бы я ни объявлял своих «DrumSensors», я получаю следующую ошибку: ... множественное определение ...

Вы можете посмотреть код здесь: https://github.com/woodencase01/DrumSensor

1 Ответ

0 голосов
/ 09 ноября 2018

О коде в вашем вопросе

То, как вы показали, это правильно.Вы объявили его в заголовке (и, следовательно, по расширению, в любом исходном файле, включая этот заголовок) и определили его один раз в исходном файле.

Вы должны случайно связать settings.cpp дважды или случайно включитьsettings.cpp где-то, или вы случайно написали другое определение для этого массива где-то.


О коде, который вы указали нам

FWIW, в проекте GitHubу вас есть ссылка, у вас нет settings.cpp, просто settings.h с множеством определенных объектов (то есть без extern).Поэтому проблема может заключаться просто в том, что код, который вы создаете, не совпадает с кодом, о котором вы говорили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...