c++ - 处理具有多个输出参数的函数

标签 c++

我们如何在 C++ 中处理多个输出参数。我是 C++ 的初学者,目前我正在尝试编写一个函数 A,它调用其他类的另一个函数 B,函数 B 总共包含 6 个参数,of其中三个是输入参数,其余三个是输出参数。我如何访问我的函数 A 中的所有三个输出参数?我尝试通过以下方式进行操作...如果我有,任何人都可以帮助我更正我的代码出错了..?请 friend 帮帮我..

class A ::functionA()
   {
      int in_a=1;
      string in_b= "name";
      int in_c=3; 
      int ot_a=0;
      int ot_b=0;
      string ot_s1="" 

      ClassB *classB();
      classB = classB.functionB(in_a,in_b,in_c,ot_a,ot_b,ot_s1); //is this way correct?
      ot_a= ? ;
      ot_b=? ;
      ot_s1=?
    }

我可以使用类似 ot_a=classB.ot_a 的东西吗?请帮助我...

最佳答案

您弄错了 C++ 的基本语法。 ClassB *classB(); 不创建任何对象,它声明函数 classB 的函数原型(prototype),返回 ClassB*。要创建一个对象,您应该执行 ClassB b;,然后像您所做的那样使用 b。如果函数通过引用获取其参数,则输出变量将由函数正确填充。

关于c++ - 处理具有多个输出参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5659414/

相关文章:

c++ - 使用pthreads实现线程池

c++ - 如何将字符串(字符数组)中的 UUID 转换为静态 uint8_t adv_data[31]

c++ - 我不确定为什么我的字符串只显示字符串的第一个字符

c++ - 通过枚举模板参数编译时间类模板选择

c++ - 比较 boost::system::error_category

c++ - 为什么 volatile 不使用 std::min 编译

c++ - 重载运算符*(乘法)返回不同的结果

c++ - 在 C++ 程序中复制 Blender 贝塞尔曲线

对象本身作为参数的对象上的 C++ 调用方法

C++:关于重载运算符的后续操作