如何在类中声明变量?

时间:2011-04-25 05:03:56

标签: c++

我有以下代码:

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;  
};

在这种情况下,类构造函数给出了未声明映射的错误。任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:3)

typedef定义了一个类型......基本上是一个别名...如果你想声明一个类型为map的变量mMap你就可以了

map mMap;

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

您需要使用 typedef来声明实际变量:

typedef map<int, funPtr> mMap;
mMap myMap;

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

map<int, funPtr> mMap;