我正在编写一个计算向量范数的程序(点积与自身)。 我没有问题实现代码,我不能做的是从主函数以外的函数调用函数。
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;
}
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);
}
}
在main.cc文件中我添加了行
#include "header.h"
我从main工作调用的所有函数都像魅力一样,但是从norm()调用productScalar()并不起作用。我添加了相同的#include&#34; header.h&#34;但是编译器说我不能多次定义同一个函数。我该如何解决这个问题?
答案 0 :(得分:0)
添加
#include "header.h"
进入norm.cc