2013-07-24 75 views
0

我遇到了xcode項目的問題。由於我在這個平臺上是新手,所以我需要一些幫助來解決這個問題。語義問題 - 此平臺不支持sizeof

的XCode錯誤:

../Classes/CDeck.m:66:37: Application of 'sizeof' to interface 'CCard' is not supported on this architecture and platform

代碼:

-(void) CopyFrom:(CDeck *)Deck 
{ 
    Nbr=Deck.Nbr; 
    memcpy(Cards,[Deck GetByID:0], Nbr*sizeof(CCard)); // Here is the error 
} 

如果您需要了解該項目的任何信息,只是告訴我。 非常感謝。

+1

在Objective-C結構上使用'sizeof'和'memcpy'就像是一個_REALLY BAD_想法。編譯器甚至可能不會讓你默認這樣做,因此錯誤。 –

回答

1

這是因爲這不是堆棧分配類型。使用sizeof(CCard *)來獲取指針的大小(不管堆內存是多少)。