c++ - 发送指向函数的指针

标签 c++ pointers

我想发送一个指向函数的指针,我的问题是当我尝试将指针的内存地址发送给该函数时,它迫使我像 ** 一样声明第二个函数的参数。

void MaterialParser::processMaterialTexture(vector<string>* params, MaterialTexture* texture){
    for (int i = 0; i < params->size(); i++){
        if((*params)[i]=="-o"){
        proccesOST(&texture,&params,i);
        }
     }
     }
void MaterialParser::proccesOST(MaterialTexture* texture ,vector<string>* params,int index){
//function 

当我调用函数时,抛出以下错误,参数 MaterialTexture** 与参数 MaterialTexture* 不兼容。

proccesOST(&texture,&params,i);

如果我像这样声明函数:

void MaterialParser::proccesOST(MaterialTexture** texture ,vector<string>** params,int index){

如何访问变量?或者更好的是,我怎样才能将参数发送为仅指针而不是双指针?

最佳答案

省略函数调用中的&。你的纹理已经是一个指针。 & 运算符创建一个指向其背后内容的指针,在这种情况下您不想这样做。

关于c++ - 发送指向函数的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20629501/

相关文章:

c++ - 将 Box2D 与 SDL 中的现有游戏类结构集成?

c++ - 我想解析一个 txt 文件并将其放入一个结构中

c++ - 如何从字符串中自动格式化和缩进 XML?

c++ - C++11 中的 sequenced-before 关系是否会阻止编译器/CPU 重新排序?

c++ - C++中的指针同一个变量有两个不同的地址

c++ - 这是内存泄漏吗?应该怎么做?

c++ - 什么时候调用析构函数?

c++ - 指针语法和递增

c++ - 遍历指针列表时出现问题 - C++

使用 malloc 的连续内存块