Note that there are some explanatory texts on larger screens.

plurals
  1. POLinking error for multiplication declaration of static data member
    primarykey
    data
    text
    <p>I am getting linking error for multiple declaration of a static data member. I took all the necessary precaution to avoid multiple inclusion of the header file but still I am getting error. </p> <pre><code>//dummymessage.h #ifndef DUMMY_MESSAGE #define DUMMY_MESSAGE #pragma once #include "stdafx.h" #include "string" class CDummyMessage { private: static int CDummyMessage::ObjCount1; public: CDummyMessage(void); CDummyMessage(std::string content, int type); ~CDummyMessage(void); private: std::string m_Message_content; int m_type; }; int CDummyMessage::ObjCount1 = 0; #endif </code></pre> <p>//dummymessage.cpp</p> <pre><code>#include "stdafx.h" #include "iostream" #include "DummyMessage.h" using namespace dummy; CDummyMessage::CDummyMessage(void) { std::cout&lt;&lt;"Constructor called. ID: "&lt;&lt;++CDummyMessage::ObjCount1&lt;&lt;std::endl; } CDummyMessage::~CDummyMessage(void) { std::cout&lt;&lt;"Destructor called. ID: "&lt;&lt;--CDummyMessage::ObjCount1&lt;&lt;std::endl; } CDummyMessage::CDummyMessage(std::string content, int type): m_Message_content(content) { } </code></pre> <p>//main.cpp</p> <pre><code>#include "stdafx.h" #include "windows.h" #include "list" #include "process.h" #include "iostream" #include "DummyMessage.h" using namespace std; int _tmain(int argc, _TCHAR* argv[]) { for(auto i = 0;++i &lt; 10000;){ CDummyMessage* l_pNewMsg = new CDummyMessage("Test message", i); g_Message_queue.push_front(l_pNewMsg); } return 0; } </code></pre> <p>I am getting linking error for this:-</p> <pre><code>Error 1 error LNK2005: "private: static int dummy::CDummyMessage::ObjCount1" (?ObjCount1@CDummyMessage@dummy@@0HA) already defined in DummyMessage.obj C:\Users\Veil\documents\visual studio 2012\Projects\SmartPointerExample\SmartPointerExample\SmartPointerExample.obj </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload