【初心者歓迎】C/C++室 Ver.24【環境依存OK】
質問です。
開発環境は、Microsoft Visual C++ .NETです。
class.group.method()のような記述方法を可能にしたく、
groupを構造体、methodをその構造体内の関数として以下のように宣言しました。
class Test
{
public:
struct a
{
void b();
}a;
};
void Test::a::b()
{
}
これにより、以下のような記述でコンパイルは通りました。
void hoge()
{
Test tes;
tes.a.b();
}
207 :
続き:2005/11/18(金) 11:48:03
しかし、問題がIntelliSenseで、tes.a.までタイプすると、
「. or -> の左側の式を理解できません」と言われ、メソッド一覧が機能してくれません。
(tes.ならば構造体の一覧が出てきます)
これは、IntelliSenseのバグなのでしょうか?
または、C++でクラス内の構造体の中に関数を置くことは言語仕様上イリーガルなのでしょうか?
他にも、良い方法がありましたら教えていただけると有り難いです。
以上です。よろしくおねがいいたします。