我正在为学校作业写一段相当简单的代码,但是将一个函数分配给变量会引发一个未定义的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&)'|
任何人都可以帮助我
答案 0 :(得分:2)
宣布该职能
B
但未定义。你忘了定义这个功能了。