我有一个cpp头文件,其结构如下:
typedef class MyType_t {
//...
public:
void method();
} MyType;
我正试图从这样的.mm文件中使用它:
MyType.method();
这导致编译器错误“未知类型名称'MyType';你的意思是'MyType_t'?”
编译器似乎能够理解“MyType_t”,但似乎不支持“MyType”。我只知道非常基本的c ++,并且不知道这个构造的确切含义。我刚刚下载了这段代码,必须从objective-c调用它。
答案 0 :(得分:5)
两者都不应该起作用。
你的意思是:
class MyType_t {
//...
public:
void method();
} MyType;
typedef
声明一个名为MyType
的新类型与MyType_t
相同。上面的语法声明了MyType
类型的变量MyType_t
。
答案 1 :(得分:0)
问题是我在使用MyType
所以添加这个
MyType MyType_t(parameter);
解决了它。