Я новичок в C++, и у меня есть основные сомнения.
Я создаю приложение для сопряжения с французским глаголом.
У меня есть два файла, файл Conjugator.cpp и файл ErVerbs.cpp. Я хочу сохранить основную часть своих функций в исходном файле ErVerbs и использовать файл сопряжения для использования этих функций.Переопределения функций при включении файлов в C++ (ошибка LNK2005)
Вот несколько фрагментов кода:
Conjugator.cpp
#include <iostream>
#include <string>
#include "Variables.h"
#include "ErVerbs.cpp"
#include "IrVerbs.cpp"
#include "ReVerbs.cpp"
using namespace std;
void check()
{
if (verb.substr(len - 2, len) == "er")
erVerbs();
else if (verb.substr(len - 2, len) == "ir")
irVerbs();
else if (verb.substr(len - 2, len) == "re")
reVerbs();
}
int main()
{
cout << "Enter verb : ";
getline(cin, verb);
cout << "Enter tense : ";
getline(cin, tense);
len = verb.length();
check();
}
ErVerbs.cpp
#include <iostream>
#include <string>
using namespace std;
void erVerbs()
{
cout << "er Verb"; cin.get();
}
Кроме того, у меня есть еще три таких .cpp исходные файлы с аналогичными функциями.
Когда я создаю программу, я получаю сообщение об ошибке, что каждый из методов, которые я использую, уже определен .
1>ErVerbs.obj : error LNK2005: "void __cdecl erVerbs(void)" ([email protected]@YAXXZ) already defined in Conjugator.obj
1>ErVerbs.obj : error LNK2005: "void __cdecl erVerbs(void)" ([email protected]@$$FYAXXZ) already defined in Conjugator.obj
1>IrVerbs.obj : error LNK2005: "void __cdecl irVerbs(void)" ([email protected]@YAXXZ) already defined in Conjugator.obj
1>IrVerbs.obj : error LNK2005: "void __cdecl irVerbs(void)" ([email protected]@$$FYAXXZ) already defined in Conjugator.obj
1>ReVerbs.obj : error LNK2005: "void __cdecl reVerbs(void)" ([email protected]@YAXXZ) already defined in Conjugator.obj
1>ReVerbs.obj : error LNK2005: "void __cdecl reVerbs(void)" ([email protected]@$$FYAXXZ) already defined in Conjugator.obj
Я был бы очень признателен, если кто-то может сказать мне, как сохранить функции в отдельных исходных файлах и #include их в одном исходных файлах и использовать свои функции без ошибок повторного определения.
Я читал, что я никогда не должен # включать файл .cpp, но я не знал, как определите его с помощью операторов #if и #define – user3182445
Спасибо за помощь: ') – user3182445