Ich habe eine Hausaufgabe, wo die Header-Datei uns zur Verfügung gestellt wird, und ist unveränderbar. Ich habe Probleme herauszufinden, wie man eine "Display" -Funktion korrekt verwendet, also hier ist der entsprechende Code.Verwendung von Ostream als Referenz (C++)
Die Header-Datei:
#ifndef SET_
#define SET_
typedef int EType;
using namespace std;
#include <iostream>
class Set
{
private:
struct Node
{
EType Item; // User data item
Node * Succ; // Link to the node's successor
};
unsigned Num; // Number of user data items in the set
Node * Head; // Link to the head of the chain
public:
// Various functions performed on the set
// Display the contents of the set
//
void display(ostream&) const;
};
#endif
Hier ist meine Implementierung der Funktion "Anzeige":
void Set::display(ostream& Out) const
{
Node * temp = Head;
cout << "{ ";
while(temp != NULL)
{
cout << temp << ", ";
temp = temp->Succ;
return Out;
}
}
Und hier ist mein Fahrer:
#include <iostream>
#include <iomanip>
#include "/user/cse232/Projects/project08.set.h"
using namespace std;
int main()
{
Set X;
X.insert(10);
X.insert(20);
X.insert(30);
X.insert(40);
X.display();
}
Der Fehler Ich bin Empfangen sagt, dass ich in meinem Treiber nicht die richtigen Parameter verwende. Ich verstehe das, weil die .h-Datei Ostream & als Parameter verwendet. Meine Frage ist, was verwende ich in meiner Treiberdatei, wenn "display" als ein guter Parameter aufgerufen wird?
, die in ziemlich guter Form ein Neuling Frage ist. Alle irrelevanten Bits entfernt, aber (fast) alle relevanten Bits angezeigt. Nächstes Mal fügen Sie einfach die genaue Fehlermeldung hinzu und geben Sie die genaue Linie an, auf die es zeigt, und es wäre perfekt. – sbi
Ich werde das tun, danke! – user212562