我想要一個編譯器(MinGW的克++/Linux的克++)忽略在頭文件中的一些定義的東西:C++如何忽略頭文件中定義的方法?
class A {
public:
A();
virtual ~A();
IGNORE void methodA(); // = 0 -> not possible
IGNORE void methodB(); // = 0 -> not possible
}
問題:了methodA()和的methodB()不能是純虛因爲類會稍後會被實例化,所以它會導致編譯器錯誤。這樣做的原因是:我想要一個可讀的頭文件,所以這個方法應該出現在文件中 - 這些方法只在QT框架中用作「信號」,這些信號用宏來轉換爲字符串。 也許可以聲明一個宏讓它作爲註釋嗎?我在QT5框架(聲明的信號方法)中看到了這一點,但它不能與我的代碼一起工作... 我不想做的事情:只將這些方法列爲DOC註釋。
感謝一個想法如何解決;)
如果我嘗試在宏中使用該方法,給出變體(a)錯誤? – Andreas
@AndreasBf如果宏被擴展並導致編譯器看到函數調用,那麼當然是。 – Walter
好的,所以我不能寫#定義XYZ(a)「」#a -------與你的提示? – Andreas