我有這樣的類似的代碼:功能ZAssert的隱含聲明是無效的C99
ZAssert(modelURL, @"Failed to find model URL");
,但我得到這個錯誤:
implicit declaration of function ZAssert is invalid in C99
任何的你知道爲什麼還是哪能固定?
我有這樣的類似的代碼:功能ZAssert的隱含聲明是無效的C99
ZAssert(modelURL, @"Failed to find model URL");
,但我得到這個錯誤:
implicit declaration of function ZAssert is invalid in C99
任何的你知道爲什麼還是哪能固定?
ZAssert
很可能是從某處或文件中複製的斷言宏,現在不是您的代碼庫的一部分。它洛斯執行標準功能,這樣你就可以簡單地將其替換爲:
NSAssert(modelURL, @"Failed to find model URL");
它將檢查modelURL設置並拋出一個異常,如果不。
這裏是ZAsset宏我發現了核心數據的書馬庫斯S. Zarra的
#ifdef DEBUG
#define MCRelease(x) [x release]
#define DLog(...) NSLog(@"%s(%p) %@", __PRETTY_FUNCTION__, self, [NSString stringWithFormat:__VA_ARGS__])
#define ALog(...) {NSLog(@"%s(%p) %@", __PRETTY_FUNCTION__, self, [NSString stringWithFormat:__VA_ARGS__]);[[NSAssertionHandler currentHandler] handleFailureInFunction:[NSString stringWithCString:__PRETTY_FUNCTION__ encoding:NSUTF8StringEncoding] file:[NSString stringWithCString:__FILE__ encoding:NSUTF8StringEncoding] lineNumber:__LINE__ description:__VA_ARGS__];}
#else
#define MCRelease(x) [x release], x = nil
#define DLog(...) do { } while (0)
#ifndef NS_BLOCK_ASSERTIONS
#define NS_BLOCK_ASSERTIONS
#endif
#define ALog(...) NSLog(@"%s(%p) %@", __PRETTY_FUNCTION__, self, [NSString stringWithFormat:__VA_ARGS__])
#endif
#define ZAssert(condition, ...) do { if (!(condition)) { ALog(__VA_ARGS__); }} while(0)
有趣。對於在NSAssert上使用它的優點有一些解釋是很好的。 –
看看這篇文章:http://www.cimgf.com/2010/05/02/my-current-prefix-pch-file/ –
什麼是ZAssert和你在哪裏定義的呢? – Wain
這是我的問題。我不知道 – HelenaM
那麼你爲什麼使用它?可能想閱讀有關NSAssert – Wain