2011-06-07 140 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