HarmonyOS 鸿蒙Next 仓颉原生应用编译报错:no matching function for operator '()' function call

HarmonyOS 鸿蒙Next 仓颉原生应用编译报错:no matching function for operator ‘()’ function call

DevEco Studio 版本

DevEco Studio 5.0.1 Release
Build #DS-233.14475.28.36.505315
Build Version: 5.0.5.315, built on January 3, 2025
Runtime version: 17.0.12+1-b1087.25 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4028M
Cores: 22
Registry:
  idea.plugins.compatible.build=IC-233.14475.28
Non-Bundled Plugins:
  com.huawei.cangjie-support-plugin (5.0.5.306.117)

DevEco Studio Cangjie Plugin 版本

DevEco Studio-Cangjie Plugin Beta1(5.0.5.306)

问题描述

编译过程中报错:error: no matching function for operator ‘()’ function call

实现没有看出问题在哪,之前用API12 也写过相同代码。这次用的是 API13 :


更多关于HarmonyOS 鸿蒙Next 仓颉原生应用编译报错:no matching function for operator '()' function call的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

自己的问题自己答。

是 IDE 自动导包时,导错包了。

import ohos.request.agent.State


应为:


import ohos.state_macro_manage.State

更多关于HarmonyOS 鸿蒙Next 仓颉原生应用编译报错:no matching function for operator '()' function call的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS 鸿蒙Next 仓颉原生应用编译报错“no matching function for operator ‘()’ function call”的问题,这通常表明你在代码中尝试调用一个函数,但编译器没有找到匹配的函数定义。这种情况可能由以下几个原因引起:

  1. 函数签名不匹配:检查你调用的函数签名(包括参数类型和数量)是否与你定义的或期望的函数签名完全一致。

  2. 函数未定义:确保你调用的函数已经被正确定义,并且定义在编译器可访问的范围内。

  3. 命名空间问题:如果你的函数在特定的命名空间中定义,确保在调用时使用正确的命名空间前缀。

  4. 重载冲突:如果函数被重载,编译器可能无法根据提供的参数确定应调用哪个版本。检查是否有多个重载版本可能导致歧义。

  5. 模板函数问题:如果涉及模板函数,确保模板参数被正确推导或指定。

解决这类问题通常需要仔细检查代码中的函数调用和定义。请按照上述可能的原因逐一排查,确保所有细节都正确无误。

如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html

回到顶部