为什么不能从外部 C++ 类调用函数? --海克斯

问题描述

我在 haxe 中有一个从 c++ 中“externed”的类。我希望能够从 C++ 运行一个函数

(编辑:“Externed”我的意思是我用 exterern 在 haxe 中创建一个类,这样如果你知道 haxe 你知道我在说什么,它就会成为 C++ 代码的接口)

我不希望函数是静态的。代码如下:

Haxe 文件

@:include("test.cpp")

extern class CppClass {
    public function new():Void;
    public function sayHello():Void;
}

class Main {
    static public function main() {
        var testObject = new CppClass();
        testObject.sayHello();
    }
}

test.cpp(我在顶部导入的东西)

#include <iostream>

class CppClass
{
public:
    CppClass(){
        std::cout << "constructed class\n";
    }

    void sayHello(){
        std::cout << "Hello\n";
    }
};

当我不调用函数时,它运行得非常好并显示“构造类”,但是当我调用函数时,我收到此错误

错误:./src/Main.cpp:在静态成员函数‘static void Main_obj::main()’中: ./src/Main.cpp:33:25: 错误:“->”的基操作数具有非指针类型“CppClass” 33 | HXLINE(18) testObject->CppClass::sayHello();

预期的输出是在 cpp 文件中运行 hello world 函数......

如有任何帮助,我们将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)