单个文件代码中未定义的引用错误

时间:2016-02-02 13:40:55

标签: c++ codeblocks

我正在为学校作业写一段相当简单的代码,但是将一个函数分配给变量会引发一个未定义的refence错误。

以下是代码:

#include <iostream>
#include <fstream>
using namespace std;

void skaitimas (double KKa[], int KKi [],int & n); // KKa - kainos, KKi - kiekiai
void pilnoskainos (double KKa[], int KKi[], double PK[], int & n); // PK - pilnos knygu kainos
double suma (double PK[], int & n);
int kiekisfunkcija (int KKi[] , int & n);
void rasymas (double KKa[], int KKi [], double PK[], double, int, int & n); // sumaats - visu knygu kaina, kiekisats - kiek knygu daugiau negu 5

int main()
{
    cout << "Programos Pradzia" << endl;
    int x;
    ifstream fn ("Duomenys1.txt");
    fn>>x;
    fn.close();
    int KKi[x], kiekisats, n;
    double KKa[x], PK[x], sumaats;
    skaitimas (KKa, KKi, n);
    pilnoskainos (KKa, KKi, PK, n);
    sumaats = suma(PK, n);
    kiekisats = kiekisfunkcija(KKi, n);
    rasymas (KKa, KKi, PK, sumaats, kiekisats, n);
    return 0;
}

void skaitimas (double KKa[], int KKi [], int & n)
{
    ifstream fn ("Duomenys1.txt");
    int i;
    fn>>n;
    for (i=0;i<n;i++)
    {
        fn>>KKa[i]>>KKi[i];
    }
    fn.close();
}

void pilnoskainos (double KKa[], int KKi[], double PK[], int & n)
{
    int i;
    for (i=0;i<n;i++)
    {
        PK[i]=KKa[i]*KKi[i];
    }
}

double suma (double PK[], int & n)
{
    double sumaats;
    int i;
    for (i=0;i<n;i++)
    {
        sumaats = sumaats + PK[i];
    }
    return sumaats;
}

int kiekis (double PK[], int & n)
{
    int daugiaunegu5 = 0, i;
    for (i=0;i<n;i++)
    {
        if (PK[i]>5) daugiaunegu5++;
    }
    return daugiaunegu5;
}

void rasymas (double KKa[], int KKi [], double PK[], double sumaats, int kiekisats, int & n)
{
    ofstream fr ("Rezultatai1.txt");
    int i;
    for (i=0;i<n;i++)
    {
       fr<<KKa[i]<<" "<<KKi[i]<<" "<<PK[i]<<endl;
    }
    fr<<sumaats;
    fr<<kiekisats;
}

这是错误:

|23|undefined reference to `kiekisfunkcija(int*, int&)'|

任何人都可以帮助我

1 个答案:

答案 0 :(得分:2)

宣布该职能

B

但未定义。你忘了定义这个功能了。