נשלח בתאריך: 01 May 2006 בשעה 18:09 | | IP רשוּם
|
|
|
|
זו התכנית למיזוג שני וקטורים.
איך אני פותרת את הבעיה בשליחת האיברים לפונקציה?
קוד:
#include <iostream>
#include <conio.h>
#include "Vector.h"
using namespace std;
template <class T>
Vector<T> MIZUG(Vector< int>&num ,Vector<float>&shever)//פונקציה למיזוג שני מערכים
{
int i=0;//miyun-מונה מערך ממויון
int j=0;//num מונה מערך
int k=0;//shever מונה מערך
while(i<18)
{ if(num.getData(j)<shever.getData(k))
{mizug.Insert(num.getData(j));
i++;
j++;
}
else
{mizug.Insert(shever.getData(k));
i++;
k++;
}
if(k==11)
{ while(j<7)
{mizug.Insert(num.getData(j));
i++;
j++;
}
}
else
{ if(j==7)
{ while(k<11)
{mizug.Insert(shever.getData(k));
i++;
k++;
}
}
}
}
return mizug;
}
void main()
{
Vector< int>num(7);
Vector< float>shever(11);
int i=0;
while(i<7)
{
num.Insert(i*3+7);
i++;
}
num.print();
cout<<endl;
i=0;
while(i<11)
{
shever.Insert( float(3.4+2.2*i));
i++;
}
shever.print();
Vector< float>mizug(18);
mizug=MIZUG(num,shever);
cout<<endl;
mizug.print();
getche();
}
|
|
|
זו ההערה שהמחשב כותב לאחר ביצוע הקומפילציה :
קוד:
MIZUG(Vector<T> [],Vector<float> [])' : could not deduce template argument for 'T' [   ; with [ T=int
|
|
|
|