Ok, ich arbeite an diesem kleinen Code und ich habe zwei Klassen gemacht, advString
und advString_stream
. Hier sind die Klassen:Problem mit dem Erstellen eines Objekts in C++
class advString
{
public:
string s_value;
int i_value;
advString(string s) : s_value(s) {}
advString(int i) : i_value(i) {}
};
//--------------------------------------------------------------------------------
class advString_stream
{
public:
advString get();
void putback(advString as);
private:
advString buffer;
bool full = false;
};
//--------------------------------------------------------------------------------
Und dann später nach unten in dem Code, definiere ich diese Aufgabe:
advString_stream ads;
Es scheint, wie es für mich arbeiten sollte, aber wenn ich führen Sie den Code, es gibt mir diesen Fehler:
'advStream::advStream(void)': attempting to reference a deleted function
So kann mir jemand helfen? Ich kann anscheinend keinen advString_stream machen, ohne dass sich der Compiler beschweren muss.
Für Effizienz 'advString (String s)' wäre besser als 'advString (const String & s)' –
Zu einem nicht verwandten Hinweis, sind Sie sicher, dass Sie die Funktion 'advString_stream :: get' Funktion * durch Wert * und nicht durch Referenz? –
@JoachimPileborg Was meinen Sie mit "Referenz"? Es ist beabsichtigt, den advString entweder a) aus dem Puffer oder b) aus cin – jiggumbob