2

いくつかのC++/ CLIコーディングを再度実行し、問題が発生しました。それがまったく重要な場合は、VS2008で作業します。

これが私がやろうとしていることのモックアップです。実際には、ClassAはGUIであり、ClassBはGUIが対話する必要のあるバックエンドです。私はそれらを相互に渡すことによって相互にアクセスできるようにしようとしていますが、他の参照を作成するためのスコープを適切に取得できません。

http://pastie.org/private/tnyxazwtyzv3luddz7seq

ご意見がございましたら、よろしくお願いいたします。私は今日の多くをオンラインで探して過ごしました、そして私が現在持っているこの解決策は私をかなり近づけました、しかし私はまだコンパイルエラーを受け取ります。これが私が今得ているものです:

Error   1   error C2653: 'NameSpaceB' : is not a class or namespace name    c:\users\andy\documents\visual studio 2008\projects\myhello\myhello\A.h 12  myhello
Error   2   error C2143: syntax error : missing ';' before '^'  c:\users\andy\documents\visual studio 2008\projects\myhello\myhello\A.h 12  myhello
Error   3   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\users\andy\documents\visual studio 2008\projects\myhello\myhello\A.h 12  myhello
Error   4   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\users\andy\documents\visual studio 2008\projects\myhello\myhello\A.h 12  myhello
Error   5   error C2653: 'NameSpaceA' : is not a class or namespace name    c:\users\andy\documents\visual studio 2008\projects\myhello\myhello\B.h 12  myhello
Error   6   error C2143: syntax error : missing ';' before '^'  c:\users\andy\documents\visual studio 2008\projects\myhello\myhello\B.h 12  myhello
Error   7   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\users\andy\documents\visual studio 2008\projects\myhello\myhello\B.h 12  myhello
Error   8   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\users\andy\documents\visual studio 2008\projects\myhello\myhello\B.h 12  myhello

これは実際のプロジェクトで発生するエラーと同じであるため、構成がファンキーなものであることがわかります。

4

1 に答える 1

3
/*B.h File Contents*/
#ifndef CLASSB_H
#define CLASSB_H
#include "A.h"

パーツを外す#include "A.h"と金色になります。クラスBは(少なくとも定義では)Aを使用しないため、インクルードは必要ありません。

于 2012-07-23T22:16:59.537 に答える