• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1432
  • Last Modified:

C++ cannot specify explicit initializer for arrays [VS Community 2013 Update 4]

Hello, How are you?

I have this error:

Error      1      error C2536: 'Address::Address::Enemys' : cannot specify explicit initializer for arrays

class Address{
public:
	static Address& Instance(){
		static Address addr;
		return addr;
	}
	const DWORD Enemys[64] = { 0 };
}

Open in new window


I was searching in Google, and it says this is a bug.


I'm using Visual Studio Community 2013 Update 4.

What i do? I need to use singleton.

Ty!
0
Júlio
Asked:
Júlio
1 Solution
 
jkrCommented:
It is a bug, that should not happen.

>> What i do? I need to use singleton.

One simple workaround would be to

class Address{
public:
	static Address& Instance(){
		static Address addr;

                if (!initialized) {

                   memset(Enemys,0,sizeof(Enemys));
                   initialized = true;
                }

		return addr;
	}
	const DWORD Enemys[64] = { 0 };
        static bool initialized;;
}
                                  
bool Address::initialized = false;

Open in new window

0
 
JúlioAuthor Commented:
hum,

Now other error:

Error      3      error C2070: 'unknown': illegal sizeof operand
7      IntelliSense: a nonstatic member reference must be relative to a specific object
Error      2      error C2597: illegal reference to non-static member 'Address::Enemys'      

i think will use a vector. This is given to many errors. Ty for your time jkr!

EDIT: yes, i just changed to vectors and it's working fine now
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now