Diese Deklaration hat keinen Speicherklassen- oder Typbezeichner in C ++
Ich habe mehrere Klassen in meinem Programm.
A) Wenn ich ein Objekt einer Klasse in einer anderen Klasse erstelle, wird kein Fehler angezeigt, aber wenn ich das Objekt zum Aufrufen einer Funktion verwende, wird der obige Fehler angezeigt.
B) Auch wenn ich ein Objekt einer anderen Klasse erstelle und damit eine Funktion im Konstruktor meiner Klasse aufrufe, erhalte ich keine solche Fehlermeldung.
C) Die Cout-Funktion funktioniert nur dann im Hauptteil der Klasse, wenn ich sie mit einer Funktion versehen habe
D) Die Hauptklasse kann all dies und ich bekomme keinen Fehler.
Es wäre toll, bald wieder zu hören. Danke im Voraus .
Folgendes ist der Code: Dies sind zwei Klassen in meinem cpp. Ich habe keine Probleme, außer das Objekt zu verwenden, nachdem ich es erstellt habe. Der Code ist zu groß, um gepostet zu werden. Alles kann in der Hauptklasse gemacht werden, aber nicht in anderen Klassen. Warum?
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <vector>
#include <map>
using namespace std;
class Message
{
public:
void check(string side)
{
if(side!="B"&&side!="S")
{
cout<<"Side should be either Buy (B) or Sell (S)"<<endl;;
}
}
};
class Orderbook
{
public:
string side;
Orderbook() //No Error if I define inside constructor
Message m; //No Error while declaring
m.check(side); //Error when I write m. or m->
};