c++ - 此声明在 C++ 中没有存储类或类型说明符

标签 c++

我的程序中有多个类(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 将包含名为 mMessage,如果您稍后创建订单簿

关于c++ - 此声明在 C++ 中没有存储类或类型说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22899466/

相关文章:

c++ - 如何在 ArrayFire 中正确使用固定内存?

c++ - 方法返回值地址

c++ - 整数对散列函数的错误

c++ - 如何从 std::list 中获取特定元素?

c++ - Arduino有平台宏吗?

android - 使用 cv::Mat.submat opencv 时出错

c++ - 计算存储在 vector 中的值流的移动平均值

c++ - 如何将 DWORD 颜色变量提取到其参数中? (十进制类型)

c++ - 在 Qt 中使用不同的模板构建目标

c# - 如何使用 Visual Studio Express 2013 将 C# 接口(interface)实现/合并到一个简单的 C++ 程序中