如何将对象或引用传递给函数?
Posted
技术标签:
【中文标题】如何将对象或引用传递给函数?【英文标题】: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++ programming book 然后查看 this C++ reference 并阅读 C++ 编译器的文档 通过使用类名作为变量名 (Encoder
),您正在搜索 en.wiktionary.org/wiki/mischief。至少,你把自己弄糊涂了。
【参考方案1】:
代码没有初始化MyClass::Enc
(也没有初始化value
)。
修复:
MyClass( Encoder *Enc, int value )
: Enc(Enc) // <---- initialize Enc.
Enc->write(value);
【讨论】:
以上是关于如何将对象或引用传递给函数?的主要内容,如果未能解决你的问题,请参考以下文章