c++: Keine Instanz von überladene Funktion?
//stock.h
#ifndef STOCK_H
#define STOCK_H
//declare Stock Class
class Stock
{
private:
string StockExchange;
string Symbol;
string Company;
double Price;
int Shares;
public:
Stock();
Stock(string stockExchange, string symbol, string company, double price, int shares);
void displayStockInfo();
void setStockInfo(string stockExchange, string symbol, string company, double price, int shares);
double getValue();
bool operator < (Stock & aStock);
bool Stock::operator > (Stock & aStock);
};
#endif
[Pause]
//main.cpp
#include <string>
#include <iostream>
#include <iomanip>
#include <fstream>
#include "stock.h"
using std::string;
using std::endl;
using std::cout;
using std::setw;
using std::ifstream;
//*******************************
//Stock class
Stock::Stock() {
StockExchange = "";
Symbol = "";
Company = "";
Price = 0.0;
Shares = 0;
}
Stock::Stock(string stockExchange, string symbol, string company, double price, int shares) {
StockExchange = stockExchange;
Symbol = symbol;
Company = company;
Price = price;
Shares = shares;
}
//end Stock class
//*******************************
...
Meine Fehler sagt etwas entlang der Linien von "keine Instanz von überladene Funktion Stock::Stock(string auf, string symbol, string company, double Preis, int-Aktien) vorhanden ist."
Was mache ich falsch? Ich sehe es in meinem header-Datei.
- "Meine Fehler sagt,...", Sagt wo? Fehler wie, die sind in der Regel berichtet an der Stelle des Aufrufs. Ich sehe keine Aufrufe in den code, den Sie zur Verfügung gestellt.
- Poste den code und die aktuelle Fehlermeldung bei der Zeile, die der compiler meldet den Fehler.
- Reduzieren Sie Ihre code, um die kleinste Beispiel benötigt, um zu zeigen, die Fehler und re-post das Ergebnis in seiner Gesamtheit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hast du nicht im Lieferumfang enthalten
<string>
header-Datei instock.h
header-Datei an, obwohl man mitstd::string
in es. Vielleicht ist die Ursache dieser Fehlermeldung (wenn das der Fall ist, dann würde ich sagen, es ist wirklich eine schlechte Nachricht).Ein weiteres problem ist, dass in
Stock
definition der Klasse, die du geschrieben hast, dieses:falsch ist. Entfernen
Stock::
aus, und machen Sie es wie diese:Stock::
ist erforderlich, wenn die Definition der Funktion außerhalb der Klasse.<string>
in der header-Datei, weil die Klassendefinition Mitglieder hat der Typstd::string
. So muss der compiler wissen, die definition vonstd::string
wenn er siehtstd::string
in Ihrer Klasse.