typedef class:未知类型名称'MyType';你是说'MyType_t'吗?

时间:2012-09-11 20:55:06

标签: c++ objective-c

我有一个cpp头文件,其结构如下:

typedef class MyType_t {

//...

public:
    void    method();

} MyType;

我正试图从这样的.mm文件中使用它:

MyType.method();

这导致编译器错误“未知类型名称'MyType';你的意思是'MyType_t'?”

编译器似乎能够理解“MyType_t”,但似乎不支持“MyType”。我只知道非常基本的c ++,并且不知道这个构造的确切含义。我刚刚下载了这段代码,必须从objective-c调用它。

2 个答案:

答案 0 :(得分:5)

两者都不应该起作用。

你的意思是:

class MyType_t {

//...

public:
    void    method();

} MyType;

typedef声明一个名为MyType的新类型与MyType_t相同。上面的语法声明了MyType类型的变量MyType_t

答案 1 :(得分:0)

问题是我在使用MyType

之前没有调用构造函数

所以添加这个

MyType MyType_t(parameter);

解决了它。