C++チュートリアルで赤線が表示される


C++の初期化と終了処理の例を記載すると、CCWaveformGenerotor文字に、赤線が表示されることがあります。
これは、「#import」文の影響によるものです。

対象のプロジェクトをビルドした上で、ソリューションを再スキャンすることで、赤線は表示されなくなります。

 

【状況】

チュートリアル>プロジェクトの作成には、「#import」が利用されています。

このチュートリアルを、一度もビルド(コンパイル)していない場合は、以下のように赤線が表示されます。

 

【原因】

「#import」文は、ビルド時(コンパイル時)に、#import文で指定されているタイプライブラリ(.tlb)から、2つのヘッダーファイルを自動作成します。(.tlhと.tli)

この2つのファイル(.tlhと.tli)に、タイプライブラリ内のメンバー関数などの情報が格納されます。
この2つのファイルが生成されていない場合、正しくメンバー関数などを解決できません。

このため、Visual Studioは、誤記の可能性が高いと判断し、メンバー関数名に赤線を表示します。

 

【対処方法】

プロジェクトをビルド(コンパイル)すると、この2つのファイル(.tlhとtli)が出力されます。
そのうえで、ソリューションを再スキャンすると、以降、赤線は表示されなくなります。


初期化と終了処理の例(c++)

 

【参考資料】

「#import」の詳細は、以下のMicrosoft社のサイトを参照ください。

[#importディレクティブ(C++)]
  https://learn.microsoft.com/ja-jp/cpp/preprocessor/hash-import-directive-cpp?view=msvc-170