我正在尝试允许构造函数上的方法链接,我在这个C++ 方法链接(包括类构造函数)上遇到了同样的问题,我已经尝试了建议的答案,但仍然得到相同的错误。我的代码如下:
class Signal {
public:
Signal() { }
Signal& Emphasize() {
return *this;
}
};
enum ReadType { NATIVE = 0, DOUBLE, };
class Wav : public Signal {
public:
Wav(string fileName, ReadType type) {
}
};
我曾尝试从以下呼叫:
Wav* wave = new Wav("asf", DOUBLE).Emphasize();
和:
Wav wave = Wav("asf", DOUBLE).Emphasize();
我不知道实际过程是否可行,因为“强调”它不是构造函数,但希望我可以访问它。我在这里做错了什么,这不起作用?
希望有人可以提供帮助:)
更新:
我将“Emphasize()”作为班级成员放在“Wav”中,它按我想要的方式工作。但是有谁知道我可以在“信号”中访问这个成员而不必将类成员放在“Wav”中的方法?
更新:
class Signal {
public:
Signal() { }
Signal* Emphasize() {
return this;
}
};
enum ReadType {
NATIVE = 0, DOUBLE,
};
class Wav : public Signal {
public:
Wav(string fileName, ReadType type) {
}
};
int main(int argc, char *argv[]) {
Wav* wave = new Wav("asf", DOUBLE)->Emphasize();
}