c - #ifdef #else - neither branch chosen -
मैं निम्नलिखित कोड
#if परिभाषित (परीक्षण) #define TEST_FAILED_IN_VMC (। ..) TestFailed (__ FILE__, __LINE__, __VA_ARGS__) # परिभाषित TEST_FAILED_IN_UNIT_TEST (...) TestFailedInUnitTest (__ VA_ARGS__) #sese # TFT_LEELED_IN_VMC (...) #define TEST_FAILED_IN_UNIT_TEST (...) #endif और संकलक complians;>
और एक कॉल TEST_FAILED_IN_VMC (;, राज्य परिधीय, testSuiteName, testName, "बुरा राज्य (% d) आंतरिक कोडिंग त्रुटि") बनाने के testSuiteName और testName परिभाषित नहीं हैं - भले ही #TESTING परिभाषित नहीं है। [अपडेट] संकलक भी "त्रुटि समारोह 'TEST_FAILED_IN_VMC' के 3 निहित घोषणा कहते हैं
[अपडेट] कृपया इस रेखा से नीचे veryting ध्यान न दें। समस्या से ऊपर है। धन्यवाद। < P> तो, मैंने यह [अपडेट] else होना चाहिए #else होना चाहिए, तो मुझे बताया गया है कि परीक्षण defiend नहीं है हां, तो क्यों काम नहीं कर ऊपर कोड है #if परिभाषित (परीक्षण) #Error "परीक्षण परिभाषित किया गया है कि & lt;? & Lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; "और WF #Error" परीक्षण परिभाषित किया गया है नहीं & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; "eyh6 #endif #ifdef परीक्षण #Error" परीक्षण @@ "और #Error ehye" परिभाषित किया गया है परीक्षण नहीं है परिभाषित @@ "5he567 #endif #error" नमूना त्रुटि ### " और संकलक द्वारा दी गई एकमात्र त्रुटि त्रुटि 3 # आतंक" नमूना त्रुटि ### "< / कोड> कोई भी विचार गलत क्या हो रहा है? (Atmel AVR स्टूडियो, जो कि माइक्रोसॉफ्ट विज़ुअल स्टूडियो पर आधारित है।
कई, कई, कई अन्य #if परिभाषित बस ठीक काम कर रहे हैं ...
आप # को else s से पहले याद नहीं कर रहे हैं। संपादित करें: आपके द्वारा जोड़े गए वास्तविक प्रश्न के लिए, मैंने निम्न कोड की कोशिश की है जो बिना किसी समस्या के जीसीसी 4.5.2 में संकलित और चलाती है।
#include & lt; stdio .h & gt; #if (परिभाषित) # परिभाषित TEST_FAILED_IN_VMC (...) TestFailed (__ फ़ाइल__, __LINE__, __VA_ARGS__) # परिभाषित TEST_FAILED_IN_UNIT_TEST (...) TestFailedInUnitTest (__ VA_ARGS__) #sese # TSET_FAILED_IN_VMC (...) #define TEST_FAILED_IN_UNIT_TEST (...) #endif int main () {TEST_FAILED_IN_VMC (परिधीय, testSuiteName, testName, "आंतरिक कोडिंग त्रुटि; खराब स्थिति (% d)", राज्य); printf ("सफल परीक्षण करें \ n"); 0; तो, क्या कंपाइलर (और कौन सा संस्करण) आप उपयोग कर रहे हैं?
Comments
Post a Comment