"variable or field declared void"

This is a discussion on "variable or field declared void" within the C++ Programming forums, part of the General Programming Boards category; Can somebody explain the point of the compiler's message:"variable or field `a' declared void "?
I'm not alone. If you ...

"variable or field declared void"

Can somebody explain the point of the compiler's message:"variable or field `a' declared void "?
I'm not alone. If you put this message without `a' into the google's browser, you will get 10 100 000 results.
I'm beyond the first steps in c++. At least, I thought so far. I must admit that I don't understand the datatype void at all.
Here's a simply, short code which doesn't work due to use of datatype void:

Thanks. But I have already have some expierence in another a bit higher level language, namely Visual Basic 6.0 for application (Excel-but it doesn't matter). So it is sure that this confuses me. You know, in that language void is a datatype which cover somehow almost the same concept.
But there it works like a jolyjoker you can use this key-word as an implicit typecaster. When you edit your code and don't know what type of data you will put in the variable you use it simply.

So you say that this key-word has no such role in c-language that I detailed above. If I make out also this sense of your message, I don't make a mistake, do I?

you can think of variables in C++ as balls on a pool table. solid-colored balls are pointers, and stripes are objects. every solid has a corresponding stripe of the same color, except the 8-ball, just like you can instantiate an object of any type you can create a pointer to, except a void pointer. there is no void object type.

And/or you are using DLLs which generates warning C4251 when you attempt to export a template from a DLL. Templates are fine as long as they are internalized but exposing them to the outside world from an API introduces an entire plethora of issues.