gpt4 book ai didi

c++ - 错误 C2064 : term does not evaluate to a function taking 0 arguments

转载 作者:可可西里 更新时间:2023-11-01 16:30:29 31 4
gpt4 key购买 nike

各位!我在一个 map 容器中维护一组 channel 数据,从中可以通过 channel 名称访问单个 channel 数据。对此,我写了一个简单的函数GetIRChannelData(请看下面的代码)。编译时,语句 pusIRChannelData = cit->second(); 抛出错误,显示为

error C2064: term does not evaluate to a function taking 0 arguments

所有要做的功能就是在 map 容器中搜索给定的 channel 名称/ID,如果找到则将其数据指针分配给时间指针。你能告诉我哪里出了问题吗?

const Array2D<unsigned short>* GetIRChannelData(std::string sChannelName) const
{
const Array2D<unsigned short>* pusIRChannelData = NULL;

for (std::map<std::string, Array2D<unsigned short>* >::const_iterator cit = m_usIRDataPool.begin(); cit != m_usIRDataPool.end(); ++cit)
{
std::string sKey = cit->first;

if (sKey == sChannelName)
{
pusIRChannelData = cit->second(); // Error occurred on this line
break;
}
}

return pusIRChannelData;
}

最佳答案

错误信息很清楚……你调用了一个不存在的函数。 map::iterator 指向一个std::pair,它有两个成员对象,firstsecond。请注意,这些不是功能。从有问题的行中删除 (),错误应该会消失。

关于c++ - 错误 C2064 : term does not evaluate to a function taking 0 arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6561134/

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