Cannot instantiate abstract class?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I got this:



class Core
{
protected:
static unsigned int id_seed;
unsigned int id;
std::string status;

public:
friend class CPU;
Core();
~Core();

virtual void procesare(std::string aplicatie) = 0;
};


class CoreScreen: public Core
{
public:
CoreScreen();
~CoreScreen();

void procesare(std::string aplicatie);
};


and corescreen.cpp:



#include "CoreScreen.h"

CoreScreen::CoreScreen()
{
}

CoreScreen::~CoreScreen()
{
}

void CoreScreen::procesare(std::string aplicatie)
{
std::string buffer;
std::ifstream file_in(aplicatie);
if (file_in.is_open()) {
std::cout << "Aplicatia " << aplicatie << " ruleaza: " << std::endl;
while (getline(file_in, buffer)) {
std::cout << buffer;
}
file_in.close();
}
else {
throw new CExceptie(APP_FAIL, " Aplicatia nu a putut rula!");
}
}


When I use in main:



CoreScreen CS1, CS2, CS3, CS4;


I get this error: 'Core' cannot instantiate abstract class.



What's the problem? I thought I have my virtual function declared in CoreScreen correctly.










share|improve this question

























  • You've declared it as pure virtual. I'm surprised you're even allowed to implement it. Take off the = 0 in the declaration.

    – Silvio Mayolo
    Jan 4 at 5:30











  • @Gabriel Stoica - have you resolved the problem? The code you posted looks OK, including void procesare(). I believe the problem is "somewhere else". Q: Are you using a "Core" directly anywhere? Q: Could you post the exact line that's giving the error?

    – paulsm4
    Jan 4 at 17:28




















0















I got this:



class Core
{
protected:
static unsigned int id_seed;
unsigned int id;
std::string status;

public:
friend class CPU;
Core();
~Core();

virtual void procesare(std::string aplicatie) = 0;
};


class CoreScreen: public Core
{
public:
CoreScreen();
~CoreScreen();

void procesare(std::string aplicatie);
};


and corescreen.cpp:



#include "CoreScreen.h"

CoreScreen::CoreScreen()
{
}

CoreScreen::~CoreScreen()
{
}

void CoreScreen::procesare(std::string aplicatie)
{
std::string buffer;
std::ifstream file_in(aplicatie);
if (file_in.is_open()) {
std::cout << "Aplicatia " << aplicatie << " ruleaza: " << std::endl;
while (getline(file_in, buffer)) {
std::cout << buffer;
}
file_in.close();
}
else {
throw new CExceptie(APP_FAIL, " Aplicatia nu a putut rula!");
}
}


When I use in main:



CoreScreen CS1, CS2, CS3, CS4;


I get this error: 'Core' cannot instantiate abstract class.



What's the problem? I thought I have my virtual function declared in CoreScreen correctly.










share|improve this question

























  • You've declared it as pure virtual. I'm surprised you're even allowed to implement it. Take off the = 0 in the declaration.

    – Silvio Mayolo
    Jan 4 at 5:30











  • @Gabriel Stoica - have you resolved the problem? The code you posted looks OK, including void procesare(). I believe the problem is "somewhere else". Q: Are you using a "Core" directly anywhere? Q: Could you post the exact line that's giving the error?

    – paulsm4
    Jan 4 at 17:28
















0












0








0








I got this:



class Core
{
protected:
static unsigned int id_seed;
unsigned int id;
std::string status;

public:
friend class CPU;
Core();
~Core();

virtual void procesare(std::string aplicatie) = 0;
};


class CoreScreen: public Core
{
public:
CoreScreen();
~CoreScreen();

void procesare(std::string aplicatie);
};


and corescreen.cpp:



#include "CoreScreen.h"

CoreScreen::CoreScreen()
{
}

CoreScreen::~CoreScreen()
{
}

void CoreScreen::procesare(std::string aplicatie)
{
std::string buffer;
std::ifstream file_in(aplicatie);
if (file_in.is_open()) {
std::cout << "Aplicatia " << aplicatie << " ruleaza: " << std::endl;
while (getline(file_in, buffer)) {
std::cout << buffer;
}
file_in.close();
}
else {
throw new CExceptie(APP_FAIL, " Aplicatia nu a putut rula!");
}
}


When I use in main:



CoreScreen CS1, CS2, CS3, CS4;


I get this error: 'Core' cannot instantiate abstract class.



What's the problem? I thought I have my virtual function declared in CoreScreen correctly.










share|improve this question
















I got this:



class Core
{
protected:
static unsigned int id_seed;
unsigned int id;
std::string status;

public:
friend class CPU;
Core();
~Core();

virtual void procesare(std::string aplicatie) = 0;
};


class CoreScreen: public Core
{
public:
CoreScreen();
~CoreScreen();

void procesare(std::string aplicatie);
};


and corescreen.cpp:



#include "CoreScreen.h"

CoreScreen::CoreScreen()
{
}

CoreScreen::~CoreScreen()
{
}

void CoreScreen::procesare(std::string aplicatie)
{
std::string buffer;
std::ifstream file_in(aplicatie);
if (file_in.is_open()) {
std::cout << "Aplicatia " << aplicatie << " ruleaza: " << std::endl;
while (getline(file_in, buffer)) {
std::cout << buffer;
}
file_in.close();
}
else {
throw new CExceptie(APP_FAIL, " Aplicatia nu a putut rula!");
}
}


When I use in main:



CoreScreen CS1, CS2, CS3, CS4;


I get this error: 'Core' cannot instantiate abstract class.



What's the problem? I thought I have my virtual function declared in CoreScreen correctly.







c++ class abstract instantiation






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 4 at 5:03









Robert

2,23562637




2,23562637










asked Jan 3 at 20:40









Gabriel StoicaGabriel Stoica

33




33













  • You've declared it as pure virtual. I'm surprised you're even allowed to implement it. Take off the = 0 in the declaration.

    – Silvio Mayolo
    Jan 4 at 5:30











  • @Gabriel Stoica - have you resolved the problem? The code you posted looks OK, including void procesare(). I believe the problem is "somewhere else". Q: Are you using a "Core" directly anywhere? Q: Could you post the exact line that's giving the error?

    – paulsm4
    Jan 4 at 17:28





















  • You've declared it as pure virtual. I'm surprised you're even allowed to implement it. Take off the = 0 in the declaration.

    – Silvio Mayolo
    Jan 4 at 5:30











  • @Gabriel Stoica - have you resolved the problem? The code you posted looks OK, including void procesare(). I believe the problem is "somewhere else". Q: Are you using a "Core" directly anywhere? Q: Could you post the exact line that's giving the error?

    – paulsm4
    Jan 4 at 17:28



















You've declared it as pure virtual. I'm surprised you're even allowed to implement it. Take off the = 0 in the declaration.

– Silvio Mayolo
Jan 4 at 5:30





You've declared it as pure virtual. I'm surprised you're even allowed to implement it. Take off the = 0 in the declaration.

– Silvio Mayolo
Jan 4 at 5:30













@Gabriel Stoica - have you resolved the problem? The code you posted looks OK, including void procesare(). I believe the problem is "somewhere else". Q: Are you using a "Core" directly anywhere? Q: Could you post the exact line that's giving the error?

– paulsm4
Jan 4 at 17:28







@Gabriel Stoica - have you resolved the problem? The code you posted looks OK, including void procesare(). I believe the problem is "somewhere else". Q: Are you using a "Core" directly anywhere? Q: Could you post the exact line that's giving the error?

– paulsm4
Jan 4 at 17:28














1 Answer
1






active

oldest

votes


















0














As I presume you know, "Core" is an abstract class, by virtue of the fact it has a pure virtual function: virtual void procesare(std::string aplicatie) = 0;.



I presume you also know that you can't instantiate an abstract class: hence your error.



The question is:



Why does the compiler think you're trying to instantiate an instance of "Core"?



Are you?



It looks like you're trying to instantiate four CoreScreen objects: CoreScreen CS1, CS2, CS3, CS4;. If so, that should be perfectly OK.



You're correct: procesare() is virtual ("pure virtual", as it happens). You've indeed overridden it correctly in CoreScreen.cpp: it DOESN'T look like that's the problem.



Q: Did you ever implement Core::Core() and Core::~Core() anywhere? If not, how did you even compile?



Q: Are you SURE you're not trying to create an instance of "Core" anywhere (even "accidentally")?



For whatever it's worth, the following MCVE compiles and runs fine (Ubuntu 18, GCC 7.3.0):



TestCore.h:



/*
* TestCore.h
*/
#ifndef TESTCORE_H_
#define TESTCORE_H_

#include <string>

class Core
{
protected:
static unsigned int id_seed;
unsigned int id;
std::string status;

public:
friend class CPU;
Core();
~Core();

virtual void procesare(std::string aplicatie) = 0;
};


class CoreScreen: public Core
{
public:
CoreScreen();
~CoreScreen();

void procesare(std::string aplicatie);
};
#endif /* TESTCORE_H_ */


TestCore.cpp:



/*
* TestCore.cpp
*/
#include <iostream>
#include <fstream>
#include "TestCore.h"

Core::Core()
{
std::cout << "Core::Core()..." << std::endl;
}

Core::~Core()
{
std::cout << "Core::~Core()..." << std::endl;
}

CoreScreen::CoreScreen()
{
std::cout << "CoreScreen::CoreScreen()..." << std::endl;
}

CoreScreen::~CoreScreen()
{
std::cout << "CoreScreen::~CoreScreen()..." << std::endl;
}

void CoreScreen::procesare(std::string aplicatie)
{
std::cout << "CoreScreen::procesare(" << aplicatie << ")" << std::endl;;
}

int main () {
std::cout << ">>main()..." << std::endl;
CoreScreen CS1, CS2, CS3, CS4;
CS1.procesare("Testing CS1");
std::cout << "<<main()." << std::endl;
return 0;
}


SAMPLE OUTPUT:



>>main()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
CoreScreen::procesare(Testing CS1)
<<main().


You'll note that I implemented Core::Core() and Core::~Core(). If you don't need them - then don't even put them in your .h class definition.



'Hope that helps






share|improve this answer


























  • shouldnt u initialize id_seed also? surprised it links.

    – Anders
    Jan 4 at 6:14











  • "All static data is initialized to zero when the first object is created, if no other initialization is present."

    – paulsm4
    Jan 4 at 6:47












Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54029501%2fcannot-instantiate-abstract-class%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














As I presume you know, "Core" is an abstract class, by virtue of the fact it has a pure virtual function: virtual void procesare(std::string aplicatie) = 0;.



I presume you also know that you can't instantiate an abstract class: hence your error.



The question is:



Why does the compiler think you're trying to instantiate an instance of "Core"?



Are you?



It looks like you're trying to instantiate four CoreScreen objects: CoreScreen CS1, CS2, CS3, CS4;. If so, that should be perfectly OK.



You're correct: procesare() is virtual ("pure virtual", as it happens). You've indeed overridden it correctly in CoreScreen.cpp: it DOESN'T look like that's the problem.



Q: Did you ever implement Core::Core() and Core::~Core() anywhere? If not, how did you even compile?



Q: Are you SURE you're not trying to create an instance of "Core" anywhere (even "accidentally")?



For whatever it's worth, the following MCVE compiles and runs fine (Ubuntu 18, GCC 7.3.0):



TestCore.h:



/*
* TestCore.h
*/
#ifndef TESTCORE_H_
#define TESTCORE_H_

#include <string>

class Core
{
protected:
static unsigned int id_seed;
unsigned int id;
std::string status;

public:
friend class CPU;
Core();
~Core();

virtual void procesare(std::string aplicatie) = 0;
};


class CoreScreen: public Core
{
public:
CoreScreen();
~CoreScreen();

void procesare(std::string aplicatie);
};
#endif /* TESTCORE_H_ */


TestCore.cpp:



/*
* TestCore.cpp
*/
#include <iostream>
#include <fstream>
#include "TestCore.h"

Core::Core()
{
std::cout << "Core::Core()..." << std::endl;
}

Core::~Core()
{
std::cout << "Core::~Core()..." << std::endl;
}

CoreScreen::CoreScreen()
{
std::cout << "CoreScreen::CoreScreen()..." << std::endl;
}

CoreScreen::~CoreScreen()
{
std::cout << "CoreScreen::~CoreScreen()..." << std::endl;
}

void CoreScreen::procesare(std::string aplicatie)
{
std::cout << "CoreScreen::procesare(" << aplicatie << ")" << std::endl;;
}

int main () {
std::cout << ">>main()..." << std::endl;
CoreScreen CS1, CS2, CS3, CS4;
CS1.procesare("Testing CS1");
std::cout << "<<main()." << std::endl;
return 0;
}


SAMPLE OUTPUT:



>>main()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
CoreScreen::procesare(Testing CS1)
<<main().


You'll note that I implemented Core::Core() and Core::~Core(). If you don't need them - then don't even put them in your .h class definition.



'Hope that helps






share|improve this answer


























  • shouldnt u initialize id_seed also? surprised it links.

    – Anders
    Jan 4 at 6:14











  • "All static data is initialized to zero when the first object is created, if no other initialization is present."

    – paulsm4
    Jan 4 at 6:47
















0














As I presume you know, "Core" is an abstract class, by virtue of the fact it has a pure virtual function: virtual void procesare(std::string aplicatie) = 0;.



I presume you also know that you can't instantiate an abstract class: hence your error.



The question is:



Why does the compiler think you're trying to instantiate an instance of "Core"?



Are you?



It looks like you're trying to instantiate four CoreScreen objects: CoreScreen CS1, CS2, CS3, CS4;. If so, that should be perfectly OK.



You're correct: procesare() is virtual ("pure virtual", as it happens). You've indeed overridden it correctly in CoreScreen.cpp: it DOESN'T look like that's the problem.



Q: Did you ever implement Core::Core() and Core::~Core() anywhere? If not, how did you even compile?



Q: Are you SURE you're not trying to create an instance of "Core" anywhere (even "accidentally")?



For whatever it's worth, the following MCVE compiles and runs fine (Ubuntu 18, GCC 7.3.0):



TestCore.h:



/*
* TestCore.h
*/
#ifndef TESTCORE_H_
#define TESTCORE_H_

#include <string>

class Core
{
protected:
static unsigned int id_seed;
unsigned int id;
std::string status;

public:
friend class CPU;
Core();
~Core();

virtual void procesare(std::string aplicatie) = 0;
};


class CoreScreen: public Core
{
public:
CoreScreen();
~CoreScreen();

void procesare(std::string aplicatie);
};
#endif /* TESTCORE_H_ */


TestCore.cpp:



/*
* TestCore.cpp
*/
#include <iostream>
#include <fstream>
#include "TestCore.h"

Core::Core()
{
std::cout << "Core::Core()..." << std::endl;
}

Core::~Core()
{
std::cout << "Core::~Core()..." << std::endl;
}

CoreScreen::CoreScreen()
{
std::cout << "CoreScreen::CoreScreen()..." << std::endl;
}

CoreScreen::~CoreScreen()
{
std::cout << "CoreScreen::~CoreScreen()..." << std::endl;
}

void CoreScreen::procesare(std::string aplicatie)
{
std::cout << "CoreScreen::procesare(" << aplicatie << ")" << std::endl;;
}

int main () {
std::cout << ">>main()..." << std::endl;
CoreScreen CS1, CS2, CS3, CS4;
CS1.procesare("Testing CS1");
std::cout << "<<main()." << std::endl;
return 0;
}


SAMPLE OUTPUT:



>>main()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
CoreScreen::procesare(Testing CS1)
<<main().


You'll note that I implemented Core::Core() and Core::~Core(). If you don't need them - then don't even put them in your .h class definition.



'Hope that helps






share|improve this answer


























  • shouldnt u initialize id_seed also? surprised it links.

    – Anders
    Jan 4 at 6:14











  • "All static data is initialized to zero when the first object is created, if no other initialization is present."

    – paulsm4
    Jan 4 at 6:47














0












0








0







As I presume you know, "Core" is an abstract class, by virtue of the fact it has a pure virtual function: virtual void procesare(std::string aplicatie) = 0;.



I presume you also know that you can't instantiate an abstract class: hence your error.



The question is:



Why does the compiler think you're trying to instantiate an instance of "Core"?



Are you?



It looks like you're trying to instantiate four CoreScreen objects: CoreScreen CS1, CS2, CS3, CS4;. If so, that should be perfectly OK.



You're correct: procesare() is virtual ("pure virtual", as it happens). You've indeed overridden it correctly in CoreScreen.cpp: it DOESN'T look like that's the problem.



Q: Did you ever implement Core::Core() and Core::~Core() anywhere? If not, how did you even compile?



Q: Are you SURE you're not trying to create an instance of "Core" anywhere (even "accidentally")?



For whatever it's worth, the following MCVE compiles and runs fine (Ubuntu 18, GCC 7.3.0):



TestCore.h:



/*
* TestCore.h
*/
#ifndef TESTCORE_H_
#define TESTCORE_H_

#include <string>

class Core
{
protected:
static unsigned int id_seed;
unsigned int id;
std::string status;

public:
friend class CPU;
Core();
~Core();

virtual void procesare(std::string aplicatie) = 0;
};


class CoreScreen: public Core
{
public:
CoreScreen();
~CoreScreen();

void procesare(std::string aplicatie);
};
#endif /* TESTCORE_H_ */


TestCore.cpp:



/*
* TestCore.cpp
*/
#include <iostream>
#include <fstream>
#include "TestCore.h"

Core::Core()
{
std::cout << "Core::Core()..." << std::endl;
}

Core::~Core()
{
std::cout << "Core::~Core()..." << std::endl;
}

CoreScreen::CoreScreen()
{
std::cout << "CoreScreen::CoreScreen()..." << std::endl;
}

CoreScreen::~CoreScreen()
{
std::cout << "CoreScreen::~CoreScreen()..." << std::endl;
}

void CoreScreen::procesare(std::string aplicatie)
{
std::cout << "CoreScreen::procesare(" << aplicatie << ")" << std::endl;;
}

int main () {
std::cout << ">>main()..." << std::endl;
CoreScreen CS1, CS2, CS3, CS4;
CS1.procesare("Testing CS1");
std::cout << "<<main()." << std::endl;
return 0;
}


SAMPLE OUTPUT:



>>main()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
CoreScreen::procesare(Testing CS1)
<<main().


You'll note that I implemented Core::Core() and Core::~Core(). If you don't need them - then don't even put them in your .h class definition.



'Hope that helps






share|improve this answer















As I presume you know, "Core" is an abstract class, by virtue of the fact it has a pure virtual function: virtual void procesare(std::string aplicatie) = 0;.



I presume you also know that you can't instantiate an abstract class: hence your error.



The question is:



Why does the compiler think you're trying to instantiate an instance of "Core"?



Are you?



It looks like you're trying to instantiate four CoreScreen objects: CoreScreen CS1, CS2, CS3, CS4;. If so, that should be perfectly OK.



You're correct: procesare() is virtual ("pure virtual", as it happens). You've indeed overridden it correctly in CoreScreen.cpp: it DOESN'T look like that's the problem.



Q: Did you ever implement Core::Core() and Core::~Core() anywhere? If not, how did you even compile?



Q: Are you SURE you're not trying to create an instance of "Core" anywhere (even "accidentally")?



For whatever it's worth, the following MCVE compiles and runs fine (Ubuntu 18, GCC 7.3.0):



TestCore.h:



/*
* TestCore.h
*/
#ifndef TESTCORE_H_
#define TESTCORE_H_

#include <string>

class Core
{
protected:
static unsigned int id_seed;
unsigned int id;
std::string status;

public:
friend class CPU;
Core();
~Core();

virtual void procesare(std::string aplicatie) = 0;
};


class CoreScreen: public Core
{
public:
CoreScreen();
~CoreScreen();

void procesare(std::string aplicatie);
};
#endif /* TESTCORE_H_ */


TestCore.cpp:



/*
* TestCore.cpp
*/
#include <iostream>
#include <fstream>
#include "TestCore.h"

Core::Core()
{
std::cout << "Core::Core()..." << std::endl;
}

Core::~Core()
{
std::cout << "Core::~Core()..." << std::endl;
}

CoreScreen::CoreScreen()
{
std::cout << "CoreScreen::CoreScreen()..." << std::endl;
}

CoreScreen::~CoreScreen()
{
std::cout << "CoreScreen::~CoreScreen()..." << std::endl;
}

void CoreScreen::procesare(std::string aplicatie)
{
std::cout << "CoreScreen::procesare(" << aplicatie << ")" << std::endl;;
}

int main () {
std::cout << ">>main()..." << std::endl;
CoreScreen CS1, CS2, CS3, CS4;
CS1.procesare("Testing CS1");
std::cout << "<<main()." << std::endl;
return 0;
}


SAMPLE OUTPUT:



>>main()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
Core::Core()...
CoreScreen::CoreScreen()...
CoreScreen::procesare(Testing CS1)
<<main().


You'll note that I implemented Core::Core() and Core::~Core(). If you don't need them - then don't even put them in your .h class definition.



'Hope that helps







share|improve this answer














share|improve this answer



share|improve this answer








edited Jan 4 at 6:11

























answered Jan 4 at 6:05









paulsm4paulsm4

80.4k9103129




80.4k9103129













  • shouldnt u initialize id_seed also? surprised it links.

    – Anders
    Jan 4 at 6:14











  • "All static data is initialized to zero when the first object is created, if no other initialization is present."

    – paulsm4
    Jan 4 at 6:47



















  • shouldnt u initialize id_seed also? surprised it links.

    – Anders
    Jan 4 at 6:14











  • "All static data is initialized to zero when the first object is created, if no other initialization is present."

    – paulsm4
    Jan 4 at 6:47

















shouldnt u initialize id_seed also? surprised it links.

– Anders
Jan 4 at 6:14





shouldnt u initialize id_seed also? surprised it links.

– Anders
Jan 4 at 6:14













"All static data is initialized to zero when the first object is created, if no other initialization is present."

– paulsm4
Jan 4 at 6:47





"All static data is initialized to zero when the first object is created, if no other initialization is present."

– paulsm4
Jan 4 at 6:47




















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54029501%2fcannot-instantiate-abstract-class%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Monofisismo

Angular Downloading a file using contenturl with Basic Authentication

Olmecas