gpt4 book ai didi

C++ 重载函数错误

转载 作者:行者123 更新时间:2023-11-28 08:27:35 25 4
gpt4 key购买 nike

我在当前项目中使用 JNI,在编译期间我的 C++ 代码出现了一个奇怪的错误。我收到一条错误消息:

错误:没有上下文类型信息的重载函数

这来自以下数组中的“nativegetsupportedciphersuites”行,它将 java 函数与其对应的 C++ 函数进行映射。我删除了其他数组成员以使其更易于阅读。

static JNINativeMethod sSocketImplMethods[] =
{
...
{"nativegetsupportedciphersuites", "()[Ljava/lang/String;", (void*)&Java_mypackage_SocketImpl_nativegetsupportedciphersuites},
...
};


我想一定是类型声明的错误,但真的没有头绪。类型声明是由 javah 函数生成的,所以我认为它是正确的。上述方法的函数签名如下所示:

JNIEXPORT jobjectArray JNICALL Java_mypackage_nativegetsupportedciphersuites(JNIEnv* env, jobject object)


有什么想法吗?

克里斯

最佳答案

错误信息表明你的方法被重载了。编译器无法确定您要将指针指向哪个重载,因为它没有任何参数信息。

听起来您并不打算重载该方法。您是否在任何地方对该方法进行了第二次声明?您是否在 header 和正文中使用了完全相同的签名?

关于C++ 重载函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3389326/

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