ページ 11

ソースが透明色になってしまう?

Posted: 2014年5月05日(月) 17:03
by kino
私はvisual stadio2010 expressでC++を書いているのですが。
インクリュードガードを使用した際、突然ヘッダーファイルのソースが透明なレイヤーをかぶせたみたいになってしまいます
こうなると変数や関数が認識されない具合になってしまいます。
そのクラスを汎化や継承をしてみると、やはり透明色の変数、関数は認識されません。

googleなどで調べようとしたのですがソースの透明色や認識されない自体、どういうキーワードで調べるかわからず
結局原因が突き止められませんでした。


これは一体どのような状態なのでしょうか?


これは何回かあった事態で、プリプロセッサの記述をインクリュードガードの前したり、いろいろ試してみたらいつの間にか解除されてました。

Re: ソースが透明色になってしまう?

Posted: 2014年5月05日(月) 17:11
by hide
コードも何も見ずにエスパーですが
#ifndef と書くところを #ifdef にしている とかそういう書き間違いという可能性はないですか?

因みにvisualstudioのSP1は当てていますか?

Re: ソースが透明色になってしまう?

Posted: 2014年5月05日(月) 19:46
by kino
ご返事ありがとうございます。

指摘いただいた#ifdefですが#ifndefとなっていました。
まだ認識していないようだったので、その#ifndefを今度は#ifdef置き換えてみました。

すると、ソースが認識されるようになりました。

おかしいと思い確認してみると、このインクリュードガードの定義と同じものがほかのクラスにありました。。。

治してみると正常に認識してくれました。