На данный вопрос уже ответили:
Было у меня 2 файла: sourse.cpp, vector.cpp. но нужно сделать из vector.cpp vector.cpp и vector.h. в первом файле - реализация, во втором - прототип. Вот код:
vector.h - https://hastebin.com/detiqajefa.cpp
sourse.cpp - https://hastebin.com/uzatasinob.cpp
vector.cpp - https://hastebin.com/cuyehiwuyi.cpp
Что я делаю не так? судя по ошибке переменная определена дважды. но я не вижу где что странно, дал другу этот код, у него работает...
Не нужно инклудить cpp
-файл, это за вас сделает линкер. Каждый cpp
представляет собой отдельный транслируемый модуль. .h
- файлы обычно содержат объявления типов, то есть некие контракты, которые связывают реализации (cpp
).
Почитайте о том, как работает компоновка приложений в Си, это позволит избежать кучи подобных оплошностей.
В файле source.cpp Вы включили vector.cpp:
#include "vector.cpp"
Замените на:
#include "vector.h"
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты