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 回答