संक्षिप्त विवरण:हैडर बहिष्करण?
Header.h
#include <stdbool.h>
जो ग में _Bool के लिए एक मैक्रो है है।
file.cpp
में Header.h
शामिल है, लेकिन file.cpp
सी ++ है - इसमें मूल प्रकार के रूप में बूल है। अब लिंट इस वजह से चीजों के एक सेट के बारे में शिकायत करता है (पुनर्विक्रय, गैर-मौजूदा विधियां इत्यादि)। Header.h
को छूए बिना file.cpp
में <stdbool.h>
को शामिल करने से रोकने का कोई तरीका है?
एक समस्या के अपने विवरण हास्यास्पद लग रहा है - कृपया टमाटर मुझ पर :) अन्यथा, धन्यवाद मदद के लिए फेंक देते हैं।
संपादित करें: अब फिर से इस के बारे में सोच: संकलन की बुनियादी अवधारणाओं जानने और जोड़ने मैंने महसूस किया जाना चाहिए था कि नीचे की ओर फाइल में कुछ शीर्ष लेख 'को छोड़कर'/हैडर अजीब लगता है और cludges के बिना संभव नहीं होना चाहिए। लेकिन फिर भी, मदद के लिए धन्यवाद। इसकी मेरी समझ के लिए एक और छोटी ईंट।
अपने लाइब्रेरी विक्रेता से शिकायत करें। 'stdbool.h' को 'bool' और दोस्तों को C++ में मैक्रोज़ के रूप में परिभाषित नहीं करना चाहिए। औसत समय में, '# undef'। –
क्या आप 'header.h' को संशोधित कर सकते हैं? फिर '' सहित पहले '__cplusplus' के लिए सशर्त प्रीप्रोसेसर चेक जोड़ें। और हो सकता है कि आप अपने उस लिटर को देखना चाहें, ऐसा लगता है कि यह सी ++ को बहुत अच्छी तरह से संभालने वाला प्रतीत नहीं होता है, या यह प्रीप्रोसेसिंग बहुत अच्छी तरह से नहीं करता है। –
@ टी.सी. यह इतना आसान नहीं है, सी ++ 98 '' के बारे में कुछ भी नहीं कहता है, इसलिए सी ++ 98 में इसके प्रभाव अनिर्दिष्ट हैं। जीसीसी का '' कारणों से सी ++ 98 के लिए मैक्रोज़ को परिभाषित करता है। क्रैपी कारण यह कम से कम C++ में 'बूल बूल' परिभाषित करता है, हालांकि, # bool _Bool परिभाषित करें जो सक्रिय रूप से हानिकारक है। –