2011-06-07 141 views
1

我正在尝试将我的C++类用于iPhone应用程序。我在XCode中有2个编译错误,我不太明白。这是第一位的,在这个头文件myApps.h,我宣布一个class myAppsstruct PointFC代码的XCode编译错误

#pragma once 
struct PointF { 
    float x; 
    float y; 
}; // **compilation error message here :Multiple types in one declaration** 

class myClass { 
... 
} 

第二个错误是在头文件中也

#pragma once 
class myClass1; 
class myClass2; 

class MyClass 
{ 
public: 
    MyClass(void *view); 
~MyClass(); 

    virtual void Draw(myClass1 *c1); 
//Error: Candidate is virtual void MyClass::Draw(myClass1 *) 

    virtual void Move(myClass2 c2[], myClass1 *c1, void *callback); 
    //Error: Candidate is virtual void MyClass::Move((myClass2, myClass1*, void*) 
}; 

感谢您的帮助

+0

你确定它不会在某些cpp文件中产生错误,然后引用这些位置? – Ali1S232 2011-06-07 04:48:56

+0

请使用编辑框上方显示的“{}”使用正确的格式。也使问题更清楚。 – iammilind 2011-06-07 04:49:49

+0

你说你声明'class myApps',你去声明'class myClass',并在另一个文件中声明'class MyClass'。这是导致你问题的确切代码吗? – littleadv 2011-06-07 04:50:17

回答

1

好吧,我不知道这是否会帮助你,但,从我所看到的:

myClass的应在年底有一个分号:

class myClass { 
... 
}; 

对于Candidate is virtual void MyClass::Draw(myClass1 *)类的最后一个函数如下:

using myClass1::Draw; 
using myClass1::Move; 

,因为你可能有一个方法绘制和移动在MyClass1的... More on it here.很难弄清楚到底,因为我可以”没有看到myClass1和myClass2中的东西。

0

只要检查您的文件扩展名是.m或.mm的C++文件,它必须是.mm扩展名。

+0

我尝试重命名文件,但它不起作用 – Ray 2011-06-07 14:01:56