#include <iostream>
using namespace std;
class Generator {
public :
virtual float getSample( int sample) = 0 ;
} ;
class Note {
public :
Generator * generator; // THIS IS WHAT IS CAUSING ME TROUBLE
Note( Generator * aGen) {
generator = aGen;
}
} ;
class Synth : public Generator{
public :
virtual float getSample( int sample) ;
int varA;
int varB;
Synth( ) {
varA = 5 ;
varB = 8 ;
}
} ;
float Synth:: getSample ( int sample) {
varA = sample;
varB = 3 ;
return 0 ;
}
class Track {
public :
Generator * generator;
Track( ) {
generator = new Synth( ) ;
}
} ;
int main( ) {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
Track track = Track( ) ;
Note n = Note( & track.generator ) ;
cout << "test" << endl;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgR2VuZXJhdG9yIHsKcHVibGljOgogICAgdmlydHVhbCBmbG9hdCBnZXRTYW1wbGUoaW50IHNhbXBsZSk9MDsKfTsKCmNsYXNzIE5vdGUgewpwdWJsaWM6CgogICAgR2VuZXJhdG9yICpnZW5lcmF0b3I7IC8vIFRISVMgSVMgV0hBVCBJUyBDQVVTSU5HIE1FIFRST1VCTEUKICAgIE5vdGUoR2VuZXJhdG9yICphR2VuKXsKICAgICAgICBnZW5lcmF0b3IgPSBhR2VuOwogICAgfQp9OwoKY2xhc3MgU3ludGggIDogcHVibGljIEdlbmVyYXRvcnsKcHVibGljOgogICAgdmlydHVhbCBmbG9hdCBnZXRTYW1wbGUoaW50IHNhbXBsZSk7CiAgICBpbnQgdmFyQTsKCWludCB2YXJCOwoJU3ludGgoKXsKCQl2YXJBID0gNTsKCQl2YXJCID0gODsKCX0KfTsKCgpmbG9hdCBTeW50aDo6Z2V0U2FtcGxlKGludCBzYW1wbGUpewogICAgdmFyQSA9IHNhbXBsZTsKCXZhckIgPSAzOwoKCXJldHVybiAwOwp9CgpjbGFzcyBUcmFjayB7CnB1YmxpYzoKICAgIEdlbmVyYXRvciAqZ2VuZXJhdG9yOwoJVHJhY2soKXsKCQlnZW5lcmF0b3IgPSBuZXcgU3ludGgoKTsKCX0KfTsKCmludCBtYWluKCkgewogICAgY291dCA8PCAiISEhSGVsbG8gV29ybGQhISEiIDw8IGVuZGw7IC8vIHByaW50cyAhISFIZWxsbyBXb3JsZCEhIQoJVHJhY2sgdHJhY2sgPSBUcmFjaygpOwogICAgTm90ZSBuID0gTm90ZSgmdHJhY2suZ2VuZXJhdG9yKTsKCWNvdXQgPDwgInRlc3QiIDw8IGVuZGw7CglyZXR1cm4gMDsKfQ==
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:48:35: error: no matching function for call to ‘Note::Note(Generator**)’
prog.cpp:48:35: note: candidates are:
prog.cpp:13:5: note: Note::Note(Generator*)
prog.cpp:13:5: note: no known conversion for argument 1 from ‘Generator**’ to ‘Generator*’
prog.cpp:9:7: note: Note::Note(const Note&)
prog.cpp:9:7: note: no known conversion for argument 1 from ‘Generator**’ to ‘const Note&’
prog.cpp:48:10: warning: unused variable ‘n’ [-Wunused-variable]
stdout