C++ Cannot call constructor directly in small example

I was wondering, why I cannot call a constructor. Even this small example fails to compile with the message:

Klassentest.cpp:24:27: error: cannot call constructor 'Sampleclass::Sampleclass' directly [-fpermissive]

Code:

#include <iostream>
using namespace std;

class Sampleclass
{
   public:
    Sampleclass();
};

Sampleclass::Sampleclass(){

}

int main() {
    cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
    Sampleclass::Sampleclass() *qs = new Sampleclass::Sampleclass();
    return 0;
}

I used the Cygwin g++ compiler in version 4.9.3-1.

Thank you for your help.

Leave a Comment