-1

I am writing a pretty simple piece of code for school homework, but assigning one of the functions to a variable throws an undefined refence error.

Here is the code:

#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;
}

And here is the error:

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

Can anyone please help me

T3 H40
  • 2,326
  • 8
  • 32
  • 43
lietuvis10
  • 13
  • 1
  • 2
    That's normal, you declared it but never defined it. – Matteo Italia Feb 02 '16 at 13:42
  • Possible duplicate of [What is an undefined reference/unresolved external symbol error and how do I fix it?](http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-do-i-fix) – Niall Feb 02 '16 at 14:14

1 Answers1

2

The function is declared

int kiekisfunkcija (int KKi[] , int & n);

but is not defined. You forgot to define the function.

Vlad from Moscow
  • 301,070
  • 26
  • 186
  • 335