Embarcadero c++ Builder语言 - 公共函数

Embarcadero C++ Builder - Public Function

本文关键字:函数 语言 c++ Builder Embarcadero      更新时间:2023-10-16

我得到了两个表单(form_1和form_2)。我在form_1的body中创建了一个函数。

void ExampleFunction() {
    ShowMessage("I'm example function inside form_1");
}

我想从form_2中调用它

我尝试将此函数添加到form_1的头文件。

public: // User declarations
    __fastcall Tform_2(TComponent* Owner);
    void ExampleFunction();
};

但是当我想从form_2中调用它时,比如:

form_2->ExampleFunction();

Builder给了我一个错误:"[ilink32 error] error: Unresolved external"

那么我怎样才能使它正常工作呢?

你在自相矛盾。您说您想在Form_1中实现函数并从Form_2中调用它,但您试图在Form_2中实现它并从Form_2外部调用它。

在任何情况下,您都将函数声明为Tform_2类的成员,因此您需要这样限定函数体:
void Tform_2::ExampleFunction() {
    ShowMessage("I'm example function inside form_1");
}