i am trying to make a program that gave you sum of array elements absolute value .
this is the header file :
#include <iostream>
using std::cin,std::cout,std::endl;
#pragma clang diagnostic push
#pragma ide diagnostic ignored "cppcoreguidelines-narrowing-conversions"
void getAbsSum(int arr[10]){
int abs = 0,sum = 0;
int len = *(&arr + 1) - arr;
for (int i = 0; i < len; ++i) {
if (arr[i] < 0 ) {
abs++;
if (abs * *arr == *arr)
arr[i] = abs;
else
continue;
}
else
continue;
sum+= *arr;
}
cout << sum;
}
#pragma clang diagnostic pop
this is the getAbsSum.cpp
#include "getAbsSum.h"
void getAbsSum(int arr[10]);
and this is the main.cpp
#include <iostream>
#include "getAbsSum.h"
using std::cin,std::cout,std::endl;
int main() {
int arr[10];
for (int & i : arr)
cin >> i;
getAbsSum(arr);
return 0;
}
and this is the error :
/home/mamog/CLionProjects/Absolute_sum/getAbsSum.h:6: multiple definition of `getAbsSum(int*)'; CMakeFiles/Absolute_sum.dir/main.cpp.o:/home/mamog/CLionProjects/Absolute_sum/getAbsSum.h:6: first defined here
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/Absolute_sum.dir/build.make:108: Absolute_sum] Error 1
make[2]: *** [CMakeFiles/Makefile2:83: CMakeFiles/Absolute_sum.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:90: CMakeFiles/Absolute_sum.dir/rule] Error 2
make: *** [Makefile:124: Absolute_sum] Error 2