По заданию, мне нужно написать Sourse file.cpp, и в него записать функции.Что я собственно и зделал. Но при компиляции, у меня вылазит ошибка: Как ето исправить?
*
1>functions.obj : error LNK2005: "void __cdecl arr_input(int *,int)" (?arr_input@@YAXPAHH@Z) уже определен в Functions c++ mass.obj
1>functions.obj : error LNK2005: "int __cdecl arr_max(int *,int)" (?arr_max@@YAHPAHH@Z) уже определен в Functions c++ mass.obj
1>functions.obj : error LNK2005: "int __cdecl arr_min(int *,int)" (?arr_min@@YAHPAHH@Z) уже определен в Functions c++ mass.obj
1>functions.obj : error LNK2005: "void __cdecl arr_out(int *,int)" (?arr_out@@YAXPAHH@Z) уже определен в Functions c++ mass.obj
1>functions.obj : error LNK2005: "void __cdecl arr_reverse(int *,int)" (?arr_reverse@@YAXPAHH@Z) уже определен в Functions c++ mass.obj
1>functions.obj : error LNK2005: "int __cdecl arr_sum(int *,int)" (?arr_sum@@YAHPAHH@Z) уже определен в Functions c++ mass.obj
1>C:\Users\Galya\Documents\Visual Studio 2017\Projects\Functions c++ mass\Debug\Functions c++ mass.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более
*
Вот код основного файла.
// Functions c++ mass.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include<iostream>
#include"functions.cpp"
using namespace std;
int main()
{
const int m = 5;
int arr[m];
arr_input(arr,m);
arr_out(arr, m);
return 0;
}
//код functions.cpp
#include "stdafx.h"
#include <iostream>
using namespace std;
void arr_out(int *a,int n)
{
for (int i = 0; i < n; i++)
{
cout << a[i] << " ";
}
}
void arr_input(int*a,int n)
{
for (int i = 0; i<n; i++)
cin >> a[i];
}
int arr_sum(int*a, int n)
{
int sum = 0;
for (int i = 0; i < n; i++)
sum += a[i];
return sum;
}
int arr_max(int*a, int n)
{
int maxArr;
maxArr = a[0];
for (int i = 0; i < n; i++)
{
if (a[i]>maxArr)
{
maxArr = a[i];
}
}
return maxArr;
}
int arr_min(int*a, int n)
{
int minArr;
minArr = a[0];
for (int i = 0; i < n; i++)
{
if (a[i]>minArr)
{
minArr = a[i];
}
}
return minArr;
}
void arr_reverse(int*a, int n)
{
for (int i = 0; i < n; i++)
{
swap(a[i], a[n - i]);
}
for (int i = 0; i < n; i++)
{
cout << a[i] << " ";
}
}
1) В качестве файла с функциями принято использовать header file (.h/.hpp). Попробуйте создать этот файл, та записать эти функции, и его подключить. 2) Если не помогло, попробуйте убрать stdafx.h
В вашем проекте имеется две единицы компиляции: основная с функцией main
и модуль functions.cpp
. Так как вы включили модуль functions.cpp
в основной модуль, то эти определения функций появляются в проекте дважды.
Вам следует объявить все ваши пользовательские функции в заголовочном файле, например, в файле functions.h
. Этот заголовочный файл с помощью директивы #include
включить в основной модуль и в модуль functions.cpp
, где эти функции будут определены. А сам модуль functions.cpp никуда не включать с помощью директивы #include
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как передать массив строк (char [10][10]) из модуля C, оттранслированного в WebAssembly, в модуль javascript и обратно?
Как вывести таблицу соответствия градусов по Цельсию градусам по Фаренгейту, так чтобы пределы и шаг вводится пользователем с экранаВ получившейся...