多个文件函数调用C ++

时间:2014-11-12 10:21:51

标签: c++ arrays file function include

我正在编写一个计算向量范数的程序(点积与自身)。 我没有问题实现代码,我不能做的是从主函数以外的函数调用函数。

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;但是编译器说我不能多次定义同一个函数。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

添加 #include "header.h" 进入norm.cc