I'm trying to refactor my C++ project moving some function from a cpp file (example.cpp) to another (utils.cpp) in order to sort the project and reuse the same functions in other sources.
example.cpp:
double std_dev(std::vector<double> Mean, std::vector<double> Mean2, int n,int i){
    if (n==0){
        return 0;
    } else{
        return sqrt((Mean2.at(n) - pow(Mean.at(n),2))/i);
    }
}
float mean(const float* x, uint n){
    float sum = 0;
    for (int i = 0; i < n; i ++)
        sum += x[i];
    return sum / n;
}
So, when i delete the function from example.cpp just by cutting the code and pasting to the file utils.cpp, and including the file utils.cpp in example.cpp:
#include "utils.cpp"
//deleted definition 
when i compile the project, the compiler fail giving the error: multiple definition of 'mean'.... multiple definition of 'std_dev', as if somehow the compilation I performed did not delete the function definitions in the example.cpp file.
I've also tried to:
- delete the cmake-build-debug folder and reloading the project
- compile the code without the functions definition (in order to have a clean compilation) and adding it in a later moment
what am I doing wrong?
