gpt4 book ai didi

visual-c++ - 两个类对​​象之间的 Visual C++/CLI 相互访问?

转载 作者:行者123 更新时间:2023-12-04 17:05:01 25 4
gpt4 key购买 nike

这是问题所在:

namespace Program1 {
public ref class Form1 : public System::Windows::Forms::Form
{
public: Form1(void) {....}
private: RunnableThread^ peerThread;

private: System::Void loginButton_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
String^ ip = this->ipTextField->Text;
String^ port = this->portTextField->Text;
<.............>
// Start new thread
this->peerThread = gcnew RunnableThread("thread2", ip, port, this->gameMatrix, this);
<..............>
}
}

}


// Runnable class
ref class RunnableThread
{
private:
String^ ip;
String^ port;
<...>
EchoClient3WS::Form1^ refToRootObj;
<......>
public:
RunnableThread(String^ threadName, String^ ip, String^ port, GameMatrix^ gameMatrix, Program1::Form1^ rootObj);
void run();
void callServer(String^ message);
void done();
};

我得到了错误:

该行是:
'private: RunnableThread^ peerThread;'

然后错误是:

error C2146: syntax error : missing ';' before identifier 'peerThread' k:\visual studio 2010\projects\program1\program1\Form1.h <....>



看起来
namespace Program1 { public ref class Form: <...> {   
// HERE WE DON'T KNOW ANYTHING ABOUT THE CLASS NAMED 'RunnableThread'

} }

但我也可以将 'RunnableThread' 声明代码移动到 'namespace Program1' 之前,因为 'RunnableThread' 使用指向创建此类实例的父亲 'Form1' 的指针。

如何解决这个问题呢?

感谢您的任何回答。

最佳答案

class Form1 前添加前向声明:

class RunnableThread;

可能与 ref在前。

关于visual-c++ - 两个类对​​象之间的 Visual C++/CLI 相互访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3941255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com