Hello,
I want to declare two shared methods with different parameters but I get the error “Address of overloaded function ‘CreateMLP’ does not match required type ‘void ()’”. Not being a C/C++ specialist I don’t know how to get rid this error.
Thanks
REALmethodDefinition MLP_Class_Shared_Methods[] = {
{ (REALproc)CreateMLP, REALnoImplementation, "CreateMLP(netStruct() As Integer) As MLP_Class", REALconsoleSafe},
{ (REALproc)CreateMLP, REALnoImplementation, "CreateMLP(netStruct() As Integer, netWeight() As Single) As MLP_Class", REALconsoleSafe},
};
Please name the two C++ methods differently.
CreateMLP must be unique in C world.
Christian,
I guess I can do something like this and keep the same name for both functions for the Xojo side
[code]MLP_Class CreateBlankMLP(REALarray netStruct);
MLP_Class CreateWeightedMLP(REALarray netStruct, REALarray pWeight);
REALmethodDefinition MLP_Class_Shared_Methods[] = {
{ (REALproc)CreateBlankMLP, REALnoImplementation, “CreateMLP(netStruct() As Integer) As MLP_Class”, REALconsoleSafe},
{ (REALproc) CreateWeightedMLP, REALnoImplementation, “CreateMLP(netStruct() As Integer, netWeight() As Single) As MLP_Class”, REALconsoleSafe},
};
[/code]
yes, of course. But C side must be unique in name.