Why dosen't this work? Thanks again for taking a look, as far as I know the syntax is correct.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
//parameterized constructors
#include <iostream>
using namespace std;
class MyClass{
public:
int x;
MyClass();
~MyClass();
};
// parameterized constructor
MyClass::MyClass(int i){
x = i;
}
//destructor
MyClass::~MyClass(){
cout << "x was " << x << " removing whole object...\n";
}
int main(){
MyClass ob1(101);
MyClass ob3(301);
MyClass ob2(200);
cout << "ob1.x: " << ob1.x << "\nob2.x: " << ob2.x << "\nob3.x: " << ob3.x;
return 0;
}
|
Errors:
classparam.cpp
classparam.cpp(14) : error C2511: 'MyClass::MyClass(int)' : overloaded member function not found in 'MyClass'
classparam.cpp(5) : see declaration of 'MyClass'
classparam.cpp(23) : error C2664: 'MyClass::MyClass(const MyClass &)' : cannot convert parameter 1 from 'int' to 'const MyClass &'
Reason: cannot convert from 'int' to 'const MyClass'
No constructor could take the source type, or constructor overload resolution was ambiguous
classparam.cpp(25) : error C2664: 'MyClass::MyClass(const MyClass &)' : cannot convert parameter 1 from 'int' to 'const MyClass &'
Reason: cannot convert from 'int' to 'const MyClass'
No constructor could take the source type, or constructor overload resolution was ambiguous
classparam.cpp(27) : error C2664: 'MyClass::MyClass(const MyClass &)' : cannot convert parameter 1 from 'int' to 'const MyClass &'
Reason: cannot convert from 'int' to 'const MyClass'
No constructor could take the source type, or constructor overload resolution was ambiguous
Once again, thanks for looking.
enduser000