如何在类中声明变量

how to declare variables in class?

本文关键字:声明 变量      更新时间:2023-10-16

我有以下代码:

class one
{
public:
  typedef int (*funPtr) (void);
  one()
  {
    // here I'm using map variable which is private. 
  }
  ~one(){}
private:
  typedef map<int, funPtr> mMap;
  mMap mapVar;  
};

在这种情况下,类构造函数给出map未声明的错误。有人能帮我吗?

typepedef定义了一个类型…基本上是混叠…如果你想声明一个map类型的变量mMap你只需输入

map mMap;

为了让编译器知道map是什么,map的typedef应该放在第一次使用之前。

您没有在任何地方声明变量。

你需要使用类型定义来声明一个实际的变量:
typedef map<int, funPtr> mMap;
mMap myMap;

我怀疑你根本不想使用typedef,只是需要这样做:

map<int, funPtr> mMap;