Mi stavo chiedendo, perché non riesco a chiamare un costruttore. Anche questo piccolo esempio non riesce a compilare con il messaggio:C++ Impossibile chiamare il costruttore direttamente nel piccolo esempio
Klassentest.cpp:24:27: error: cannot call constructor 'Sampleclass::Sampleclass' directly [-fpermissive]
Codice:
#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;
}
ho usato il compilatore g ++ Cygwin nella versione 4.9.3-1.
Grazie per il vostro aiuto.
Cosa stai cercando di fare? Perché stai usando 'new'? Inoltre, non è possibile chiamare direttamente un costruttore in C++. – TartanLlama
Sono solo C++ ... i costruttori non sono funzioni regolari.Vedi [this] (http://stackoverflow.com/questions/33079486/difference-between-constructor-calls-with-and-without/33079632) domanda e risposta –
Ho bisogno di avere un oggetto sull'heap, non lo stack . Questo è solo un piccolo esempio in cui ho anche il problema. – GlenM