Android返回错误"不兼容的类型:void无法转换为boolean"

时间:2016-09-19 20:02:28

标签: java android

我根据我的代码得到了这些错误消息。

代码

if (mNativeDetector.detect(mGray, faces)) myAudioFunc();

错误消息

Error:(195, 43) error: incompatible types: void cannot be converted to boolean
Error:(195, 59) error: cannot find symbol method myAudioFunc()

1 个答案:

答案 0 :(得分:1)

所以我并不完全确定" mNativeDetector"是的,但一点点的谷歌搜索表明它是这样的:https://fossies.org/dox/opencv-3.1.0/classorg_1_1opencv_1_1samples_1_1facedetect_1_1DetectionBasedTracker.html

如果是这种情况,那么您的问题非常简单(并且在错误消息本身中)。 detect (Mat imageGray, MatOfRect faces)void类型,不会返回任何内容。首先,您尝试根据if (void)运行条件,该条件无效并导致您的第一次错误。

然后通过调用myAudioFunc()来解决问题,它会为您提供: Error:(195, 59) error: cannot find symbol method myAudioFunc()

第二个错误表示您尚未在任何地方声明myAudioFunc()

你通常做的是将回调或听众连接到onDetect()功能,但我似乎无法通过有限的谷歌搜索找到一个。对于像detect这样的操作,它可能无法立即返回,所以即使你可以让你的代码以这种方式工作,你可能也不会像你一样#&# 39;当检测完成时它会挂起 - 这可能需要很长时间。

我希望有所帮助。