neu in C++Erste einen undefinierten Bezugs auf für einen Betreiber von <function
Bevor ich beginne ja diese Hausaufgaben, in der Regel kann ich Dinge herauszufinden, in Ordnung auf meinem eigenen, aber ich bin keine tatsächlichen Fehler auf spezifisches bekommen Linien, so ist dies für mich schwierig.
Mein Code:
#include <string>
#include <iostream>
using namespace std;
class JobBid{
private:
friend ostream& operator<<(ostream&, const JobBid&);
int bid;
int quote;
public:
JobBid& operator() (int, int);
bool operator<(const smallest)
};
ostream& operator<<(ostream& out, const JobBid& baq){
out << "Bid #: " << baq.bid << " Quote $: " << baq.quote << endl;
return out;
}
JobBid& JobBid::operator()(int b, int q){
bid = b;
quote = q;
}
int main()
{
int b1;
int b2;
int b3;
int b4;
int q1;
int q2;
int q3;
int q4;
int smallestbid;
int smallestquote;
const int size = 4;
JobBid JBArray[size];
cout << "Enter the bid number for the first bid:" << endl;
cin >> b1;
cout << "Now enter the quote price for the first bid:" << endl;
cin >> q1;
cout << "Enter the bid number for the second bid:" << endl;
cin >> b2;
cout << "Now enter the quote price for the second bid:" << endl;
cin >> q2;
cout << "Enter the bid number for the third bid:" << endl;
cin >> b3;
cout << "Now enter the quote price for the third bid:" << endl;
cin >> q3;
cout << "Enter the bid number for the fourth bid:" << endl;
cin >> b4;
cout << "Now enter the quote price for the fourth bid:" << endl;
cin >> q4;
JBArray[1](b1, q1);
JBArray[2](b2, q2);
JBArray[3](b3, q3);
JBArray[4](b4, q4);
cout << JBArray[1] << JBArray[2] << JBArray[3] << JBArray[4] << endl;
JobBid smallest = JBArray[0] ;
for (int i=1; i < sizeof(JBArray)/sizeof(JBArray[0]); ++i)
if (JBArray[i] < smallest)
smallest = JBArray[i] ;
cout << smallest << '\n' ;
}
Ich weiß, dass der Code wahrscheinlich wirklich schlecht ist, aber seine ein Intro-Klasse. So oder so versuche ich, den kleinsten Wert meiner erstellten Array-Liste am Ende des Main zu liefern. Ich habe jedoch festgestellt, dass der Versuch, den '<'-Operator für meinen Typ' JobBid 'zu verwenden, Fehler verursacht hat, also habe ich mich umgesehen und herausgefunden, dass Sie es selbst definieren müssen, denke ich.
Ich habe versucht, so zu tun hier:
bool operator<(const smallest)
aber ich muss es falsch machen, ich in der Lage war, alle Fehler raus nach, dass (Fehler auf bestimmte Zeilen ich meine), außer jetzt erhalte ich dies:
undefined reference to `JobBid::operator<(JobBid)'
und ich bin mir nicht sicher, wie es zu beheben ist. Ich denke, die Logik zum Finden des kleinsten Objekts im Array ist richtig, also muss es etwas mit dem weniger als-Zeichen sein.
Haben Sie eine Definition für diesen überladenen Operator? – FCo
Ich denke ich nicht, wie würde ich es definieren? Vermute ich, dass ich mich als Argument am kleinsten nehme? Ich nehme an, ich müsste so etwas tun: JobBid & Operator <() { // aber was würde hier gehen? } – Dante
Ich sehe, Sie versuchen zu vergleichen "JBArray [i]
Unick