私はvisual stadio2010 expressでC++を書いているのですが。
インクリュードガードを使用した際、突然ヘッダーファイルのソースが透明なレイヤーをかぶせたみたいになってしまいます
こうなると変数や関数が認識されない具合になってしまいます。
そのクラスを汎化や継承をしてみると、やはり透明色の変数、関数は認識されません。
googleなどで調べようとしたのですがソースの透明色や認識されない自体、どういうキーワードで調べるかわからず
結局原因が突き止められませんでした。
これは一体どのような状態なのでしょうか?
これは何回かあった事態で、プリプロセッサの記述をインクリュードガードの前したり、いろいろ試してみたらいつの間にか解除されてました。
ソースが透明色になってしまう?
-
hide
Re: ソースが透明色になってしまう?
コードも何も見ずにエスパーですが
#ifndef と書くところを #ifdef にしている とかそういう書き間違いという可能性はないですか?
因みにvisualstudioのSP1は当てていますか?
#ifndef と書くところを #ifdef にしている とかそういう書き間違いという可能性はないですか?
因みにvisualstudioのSP1は当てていますか?
-
kino
Re: ソースが透明色になってしまう?
ご返事ありがとうございます。
指摘いただいた#ifdefですが#ifndefとなっていました。
まだ認識していないようだったので、その#ifndefを今度は#ifdef置き換えてみました。
すると、ソースが認識されるようになりました。
おかしいと思い確認してみると、このインクリュードガードの定義と同じものがほかのクラスにありました。。。
治してみると正常に認識してくれました。
指摘いただいた#ifdefですが#ifndefとなっていました。
まだ認識していないようだったので、その#ifndefを今度は#ifdef置き換えてみました。
すると、ソースが認識されるようになりました。
おかしいと思い確認してみると、このインクリュードガードの定義と同じものがほかのクラスにありました。。。
治してみると正常に認識してくれました。