나는 벡터의 표준을 계산하는 프로그램을 작성하고있다. 나는 코드를 구현하는데 아무런 문제가 없다. 내가 할 수없는 것은 주된 함수가 아닌 다른 함수로부터 함수를 호출하는 것이다.여러 파일 함수 호출 C++
header.h가
#ifndef HEADER
#define HEADER
void readArray(double [], int &);
void printArray(double [], int &);
void norm(double [], int &);
double scalarProduct(double [], int &);
#endif
norm.cc
// norm.cc
#include <iostream>
#include <cmath>
using namespace std;
void norm(double array[], int & size)
{
double norm;
norm = sqrt(scalarProduct(array, size));
cout << "Norm = " << norm << endl;
}
내가 선을 추가 main.cc 파일에 scalarProduct.cc
// scalarProduct.cc
#include <cmath>
double scalarProduct(double array[], int & size)
{
double ps = 0.0;
for(int i = 0; i < size; i++)
{
ps += pow(array[i], 2);
}
}
#include "header.h"
및 기본 작업에서 호출하는 모든 기능은 매력처럼 보이지만 norm()에서 productScalar()를 호출하면 작동하지 않습니다. 동일한 #include "header.h"라인을 추가했지만 컴파일러는 동일한 함수를 두 번 이상 정의 할 수 없다고 말합니다. 이 문제를 어떻게 해결할 수 있습니까?
당신은 싶어 OOP가 어떻게 작동하는지에 대해 자세히 살펴있을 수 있습니다 추가 http://www.cplusplus.com/doc/tutorial/classes/ – NSimon
나는를 통과하지 것이다 값을 변경하지 않으면 'int'를 참조로 함수에 추가하십시오. – tgmath
그게 효과가있다. "작동하지 않는다"는 말을하고 컴파일러에서 정확한 * 오류 메시지를 게시하십시오. (BTW :'scalarProduct'에서 무엇을 반환하는 것을 잊고 있는데 왜 크기 매개 변수를 참조할까요?) – molbdnilo