gpt4 book ai didi

c++ - 对成员函数 set_value 的错误调用不明确(在使用 pugixml 库的 xcode 中)

转载 作者:行者123 更新时间:2023-11-28 02:59:45 25 4
gpt4 key购买 nike

我在 Visual C++ Express 2010 中使用 pugixml。此代码有效。但是当我在 xcode 中使用它时。它给了我一个错误,“调用成员函数''set_value''是不明确的”。任何人都可以帮助解决它或者为什么它在 xcode 中给我错误。

for (size_t k = 0; k < num; ++k) {

for (size_t v = 0; v < height; ++v) {

if(width==2){
pugi::xml_node weightNode = weightsNode.append_child("Test_Output");
weightNode.append_attribute("No").set_value(k);
weightNode.append_attribute("index1").set_value(v);
weightNode.append_attribute("index2").set_value(v); //as 1x2 case first value position is (0x0)
weightNode.append_attribute("value").set_value(networks[k][6][0].at<double>(v,v));
weightNode.append_attribute("index1").set_value(v);
weightNode.append_attribute("index2").set_value(v+1);
weightNode.append_attribute("value").set_value(networks[k][6][0].at<double>(v,v+1));
}else{
for (size_t u = 0; u < width; ++u) {
pugi::xml_node weightNode = weightsNode.append_child("Output");
weightNode.append_attribute("No").set_value(k);
weightNode.append_attribute("index1").set_value(v);
weightNode.append_attribute("index2").set_value(u);
weightNode.append_attribute("value").set_value(networks[k][6][0].at<double>(v,u));
weightNode.append_attribute("index1").set_value(v);
weightNode.append_attribute("index2").set_value(u);
weightNode.append_attribute("value").set_value(networks[k][6][0].at<double>(v,u));
}
}
}
}

任何人都可以查明为什么它在 xcode 中出错。但是它在 Visual C++ 中可以正常工作。

谢谢

最佳答案

根据documentation ,有几种类型的 set_value 重载:

bool set_value(const char_t* rhs);
bool set_value(int rhs);
bool set_value(unsigned int rhs);
bool set_value(double rhs);
bool set_value(bool rhs);

但不适用于 size_t,除非它恰好是 unsigned int 的别名。

您需要将 kv 的类型更改为 unsigned int,或者在调用 set_value< 时强制转换。如果您需要支持无法用 unsigned int 表示的非常大的值,那么您将需要一个更好的库。

关于c++ - 对成员函数 set_value 的错误调用不明确(在使用 pugixml 库的 xcode 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21116150/

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