dark_cypher
dark_cypher

Reputation: 78

Unable to create object from Main

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
    }
};

Upvotes: 2

Views: 781

Answers (1)

user12002570
user12002570

Reputation: 1

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.

Upvotes: 3

Related Questions