另一个使用引用和参数的函数中的C ++调用函数

佩德罗·夸德罗斯(Pedro Quadros)

我在Arduino IDE(基本上使用C ++)上编程,但在调用另一个函数时遇到麻烦。代码部分如下:

unsigned long int deslocamento (char sentido, byte &cont, const int pino, unsigned long int posicaoA)
{
  byte leitura;
  unsigned int deltaposicao;

  leitura = digitalRead(pino);

  if ((leitura == HIGH) && (cont == 0))
  {
    cont = 1;
  }

  if ((leitura == LOW) && (cont == 1))
  {
    cont = 0;

    deltaposicao++;
  }

  if (sentido == 'F')
  {
    posicaoA += deltaposicao;
  }

  else
  {
    posicaoA -= deltaposicao;
  }

  return posicaoA;
}

void zeramento (unsigned long int posicaoA)
{
  byte pwm = 255;
  char sentido = 'R';

  byte fator;

  fator = fatorcorrecaoP (pwm);

  while (posicaoA != 0)
  {
    posicaoA = deslocamento (sentido, cont, pinencoder, posicaoA);

    posicaoA -= fator;

    comando (sentido, pwm);
  }
}

我应该在函数“ void zeramento”上声明函数“ unsigned long int deslocamento”也使用的所有输入(参数),或者使用一种更简单,更短(或者在内存优化的方法中更有效)的方式作为输入吗?例如,我应该声明为“ void zeramento(posicaoA,sendido,&cont,pinecoder)”吗?

谢谢大家,对于任何问题,我们深表歉意。我是新来的,还在学习英语。

frarugi87

这取决于您要实现的目标。对于较短的代码,我将仅调用您的函数funcA以及funcB参数par1par2

你可以做

void funcA(int par1, int par2)
{ ... use par1 and par2 ... }

void funcB(int par1, int par2)
{
    ...
    funcA(par1, par2);
    ...
}

或者

int global_par1;
int global_par2;

void funcA(int par1, int par2)
{ ... use par1 and par2 ... }

void funcB()
{
    ...
    funcA(global_par1, global_par2);
    ...
}

在第一种情况下,您仅使用局部变量,而在第二种情况下,您使用全局变量。

区别在于,在全局情况下(请在funcA和中以不同的方式调用它们funcB,因为可能存在可读性问题),变量对于整个程序是唯一的(即,如果在中修改它们,则main即使在函数中也将对其进行修改),而在本地情况下,您只是在本地处理它们。

我认为,由于这些变量确定了位置(唯一),因此我将采用完全全局的解决方案,即

int global_par1;
int global_par2;

void funcA()
{ .. use global_par1 and global_par2.. }

void funcB()
{
    ...
    funcA();
    ...
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用相同参数在另一个函数中调用函数

使用父类参数从另一个函数中调用重载函数

如何使用cfc对象的引用从另一个函数调用一个函数?

将C ++函数用作导出的Rcpp函数调用的另一个C ++函数的参数

在另一个函数中调用一个函数的参数

比在另一个函数的参数中调用一个函数更昂贵?

从另一个函数调用参数调用alloca()?

在另一个函数中调用被“隐藏”的函数

从另一个函数中调用类函数

在另一个函数中调用匿名函数

另一个函数内部的C ++调用函数

使用另一个QML对象作为参数从C ++调用QML函数

在 C 中将一个函数调用到另一个函数中

使用 onclick 从另一个函数中调用一个函数

如何使用命令行参数的子集调用另一个 C 文件中的函数?

如何在Kotlin中的另一个函数中调用带有参数的函数

在类中以另一个函数作为参数调用函数

如何调用在另一个函数中作为参数传递的函数

调用另一个函数内具有参数类型的函数c#

在一个函数中传递参数,该参数由另一个函数中的“引用”传递

使用参数列表调用另一个函数的函数不起作用

检查是否可以使用另一个函数的参数调用该函数

使用另一个函数作为参数的Javascript函数调用

使用属于另一个函数的参数从 main() 调用函数

使用来自另一个函数的参数调用函数

调用另一个函数时调用函数

从C ++ 17中的另一个构造函数调用具有不同参数类型的构造函数

如何使用可调用的伪类型将函数用作php中另一个函数的参数?

从另一个函数C#调用另一个函数