I'm new to C . This question might be easy, but I didn't find a proper answer to it after my Internet searches.
I have a class with a public method to do some task. From the main() method, I'm trying to instantiate an object of my class to further call my method. I'm getting a compile-time error:
MyClass: undeclared identifier
I checked undeclared identifier issues to be resolved by wrong spelling or missing namespaces, but didn't find any luck in my case.
I have a single .cpp file as below:
int main()
{
MyClass sln; //Error here
sln.MyMethod();
}
class MyClass {
public:
void MyMethod() {
//some code
}
};
CodePudding user response:
You have to put the class definition before main() here, because it (the compiler) has to know the size of the object it is creating (instantiating).
//class definition
class MyClass {
public:
void MyMethod() {
//some code
}
};
int main()
{
MyClass sln;
sln.MyMethod();
}
Check out the working program here.
