osgengine.cpp:530:16: error: no matching member function for call to 'addChild' Group:51:22: note: candidate function not viable: no known conversion from 'osgDB::DatabasePager *' to 'osg::Node *' for 1st argument Group:53:32: note: candidate template ignored: could not match 'ref_ptr<type-parameter-0-0>' against 'osgDB::DatabasePager *'
时间: 2024-03-05 17:48:21 浏览: 25
这个错误发生的原因是在addChild()方法中传入了一个osgDB::DatabasePager类型的指针,而addChild()方法的参数需要是osg::Node类型的指针。
根据错误提示,你在 Group 类型的 addChild() 方法中传入了一个 osgDB::DatabasePager 对象的指针,因此编译器找不到与之匹配的 addChild() 方法。
解决这个问题可以通过将osgDB::DatabasePager对象加入到场景图中,例如:
```
osg::ref_ptr<osgDB::DatabasePager> pager = new osgDB::DatabasePager;
root->addChild(pager.get());
```
然后在Group类型的addChild()方法中传入一个osg::Node类型的指针,例如:
```
osg::ref_ptr<osg::Node> model = osgDB::readNodeFile("model.osg");
group->addChild(model.get());
```
这样就可以避免上述错误了。需要注意的是,在使用osgDB::DatabasePager时,需要保证场景图的线程安全。
相关问题
a.cpp:10:16: error: no matching member function for call to 'insert' st.insert(s);
这个错误是因为在使用insert函数时参数类型不匹配。根据错误信息,可以推断出st是一个容器(如set、unordered_set等),而s是一个字符串。
insert函数在容器中插入元素,但它的参数类型必须与容器要求的元素类型相匹配。对于set或unordered_set容器,insert函数的参数应该是容器内元素的类型。
要解决这个错误,可以检查容器st的类型,并确保插入的元素类型与容器要求的元素类型相匹配。如果s是字符串类型,可以考虑使用set<string>或unordered_set<string>作为容器类型。示例代码如下:
```cpp
#include <iostream>
#include <set>
using namespace std;
int main() {
set<string> st; // 使用set<string>作为容器类型
string s;
while (cin >> s) {
st.insert(s);
}
return 0;
}
```
请注意,包含头文件<bits/stdc++.h>是不推荐的做法,推荐只包含需要的标准库头文件。在上面的示例中,只包含了<iostream>和<set>头文件。
bootable/recovery/recovery.cpp:789:6: error: no matching function for call to 'fwrite'
这错误的原因是在代码中调用了`fwrite`函数,但是没有提供正确的参数。`fwrite`函数的参数应该是:
```
fwrite(const void *ptr, size_t size, size_t count, FILE *stream)
```
你需要确认调用`fwrite`时传入了正确的参数,特别是`count`参数,它表示要写入的元素的数量,而不是字节数量。如果这些参数都正确,但仍然出现错误,请检查文件指针`stream`是否正确初始化,指向了正确的文件。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)