指针作函数参数问题?

1016133 2003-01-24 09:30:30
以一个对象指针为参数,过程如下:

//线程类
class Tsimple : public TThread
{
private:
TLabel *pLabel;
protected:
void __fastcall Execute();
public:
__fastcall Tsimple(bool CreateSuspended);
void __fastcall assign(TLabel *p);
};

void __fastcall Tsimple::assign(TLabel *p)
{
//TODO: Add your source code here
pLabel=p;

}


class TForm1 : public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
void __fastcall FormCreate(TObject *Sender);
private: // User declarations
Tsimple *simple;
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};

void __fastcall TForm1::FormCreate(TObject *Sender)
{
simple->assign(Label1);

}
编译提示错误“access violation at address 00401E2E in module 'Project1.exe'. write of address 00000030.
请帮忙看看是那有错!!!!
不深感激


...全文
32 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
1016133 2003-01-24
  • 打赏
  • 举报
回复
啊哈,对。我把这个给忘了。
Jagen在路上 2003-01-24
  • 打赏
  • 举报
回复
你的代码应该这样写
void __fastcall TForm::FormCreate(TObject *Sender)
{
simple = new TSimple(true);//true我猜想的
simple->assign(Label1);
}
Jagen在路上 2003-01-24
  • 打赏
  • 举报
回复
你没有为simple分配内存阿??
你只是声明了一指针,那个指针指向什么你怎么知道,编译器也不知道啊,所以才会报告错误阿!

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧