C++ 静态类成员的初始化

C++ 静态类成员的初始化,c++,visual-c++,c++11,C++,Visual C++,C++11,如果我尝试初始化对象,它会要求我将其设置为常量,而我不能这样做,因为我必须对创建的对象计数 #include<iostream> class A { static int obj_s=0; public: A(){ ++obj_s;cout << A::obj_s << "\nObject(s) Created\n"; } }; int main() { A a,b,c,d; } [已解决] 代码给出错误是因为

如果我尝试初始化对象,它会要求我将其设置为常量,而我不能这样做,因为我必须对创建的对象计数

#include<iostream>

class A
{
        static int obj_s=0;
public: 
        A(){ ++obj_s;cout << A::obj_s << "\nObject(s) Created\n"; }
}; 

int main()
{
A a,b,c,d;
}    
[已解决]

代码给出错误是因为在第二种情况下对象没有被创建,而在第一种情况下,它没有按照预期的方式初始化- 以下是固定代码:

#include<iostream>
class A
{
        static int obj_s;
public: 
        A()
{  obj_s++;  std::cout << A::obj_s << "\nObject(s) Created\n" ;  }
}; 

int A::obj_s=0;  // This is how you intialize it

int main()
{
A a ,b,c,d;
}
#包括
甲级
{
静态内部对象;
公众:
()
{obj_s++;std::cout[已解决]

代码给出错误是因为在第二种情况下对象没有被创建,而在第一种情况下,它没有按照预期的方式初始化- 以下是固定代码:

#include<iostream>
class A
{
        static int obj_s;
public: 
        A()
{  obj_s++;  std::cout << A::obj_s << "\nObject(s) Created\n" ;  }
}; 

int A::obj_s=0;  // This is how you intialize it

int main()
{
A a ,b,c,d;
}
#包括
甲级
{
静态内部对象;
公众:
()
{obj_s++;std::cout