【问题标题】:How to pass an object or reference to a function?如何将对象或引用传递给函数?
【发布时间】:2020-07-16 07:45:27
【问题描述】:

我想在下面寻求帮助.. 如何将对象或引用传递给函数?

#include <Encoder.h>

// Default Encoder class
Encoder mainEncoder( 2, 3 );

// My class
class MyClass {

  private:
    Encoder *Enc;
    int value;

  public:
    MyClass( Encoder *Enc, int value ) {
      Enc->write( value );
    }

    int read() {
      return Enc->read();
    }

}

// Create..
MyClass Encoder( &mainEncoder, 50 );

// Loop...
int encoderOut = Encoder.read();

这种方式根本行不通。

【问题讨论】:

标签: c++ function class arduino


【解决方案1】:

代码没有初始化MyClass::Enc(也没有初始化value)。

修复:

MyClass( Encoder *Enc, int value ) 
    : Enc(Enc) // <---- initialize Enc.
{
    Enc->write(value);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-13
    • 2018-08-23
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    相关资源
    最近更新 更多