我的程序中有多个类(class)。
A) 当我在另一个类中创建一个类的对象时,我没有收到任何错误,但是当我使用该对象调用函数时,我得到了上述错误。
B)此外,如果我创建另一个类的对象并在我的类的构造函数中使用它调用函数,那么我不会收到这样的错误。
C) Cout 函数在类的主体中不起作用,除非我把它放在任何函数中
D) 主类能够完成所有这些,我没有收到任何错误。
很高兴很快收到回复。提前谢谢你。
以下是代码:这是我的 cpp 中的两个类。除了在创建对象后使用对象外,我没有遇到任何问题。代码太大也不能贴出来。什么都可以在 main 中完成,但不能在其他类中完成,为什么?
#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->
};
最佳答案
这是一个错误:
m.check(side);
该代码必须进入函数内部。 您的类定义只能包含声明和函数。
类不会“运行”,它们提供了如何制作对象的蓝图。
Message m;
行表示 Orderbook
将包含名为 m
的 Message
,如果您稍后创建订单簿
。
关于c++ - 此声明在 C++ 中没有存储类或类型说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22899466/