C++、VS 2012 (ただし、以前のバージョンの VS でも同じことが起こりました)。
場合によっては、Intellisense は実際には問題ではない "問題" を検出し、完全に有効なコードの下に赤い波線を配置します。
例:
class A {
A(const A&);
A& operator=(const A&);
public:
A(const wchar_t*, const wchar_t*, int);
#define AMsg(x) A(x, __FILEW__, __LINE__)
};
...
throw AMsg(L"abc");
AMsg マクロは ctor 呼び出しに変換され、明らかな最後の 2 つのパラメーター値を入力する必要がなくなります。コードは期待どおりに機能しますが、Intellisense は AMsg の下に A::A(const A&) にアクセスできないことを示す赤い波線を表示します。A::A(const A&) にはアクセスできませんが、AMsg は別の ctor を呼び出し、Intellisense はそれを認識できません。
Intellisense が AMsg を無視するようにする方法はありますか? たとえば、ファイルに保存されているエディターのキーワード リストを編集できることを覚えています。制御に役立つファイルまたはマクロ (たとえば、「この特定のファイルの内容を解析しない」など) があるかもしれません。インテリセンス?