以下代码给了我
test2.cc:248:14: error: no match for call to '(Integrator) (Input, double)'
test2.cc:249:11: error: no match for call to '(Integrator) (Integrator&, double)'
关于编译。
class Integrator : public Block {
private:
...
Input input;
double init_value;
public:
Integrator();
Integrator(Input i, double initval = 0) : input(i), init_value(initval) {}
Integrator(Integrator &i, double initval = 0) : input(i), init_value(initval) {}
...
};
// + is overloaded
Input operator + (Input a, Input b) { return new Add(a,b); }
int main() {
Constant a(4.0); // Input
Integrator x,y;
...
x(y + a, 0.0); // + is overloaded for Inputs
y(x, -2.0);
...
}
我只发布代码片段,因为这是我的作业。如果这些还不够,我可以添加更多。我看到类似的代码在工作,所以我尝试使用它(进行了一些编辑),但它对我不起作用......