what's wrong with this syntax? sorry for the newbie question.
source:
Level::Level()
{
NintyDegreeDirections[4] =
{
(float)(2*(Math.PI)),
(float)(3*(Math.PI)/2),
(float)Math.PI,
(float)Math.PI/2
}
...rest of class
header:
//all necessary includes
class Level
{
private:
static const float NintyDegreeDirections[4];
...rest of header
how do I have an开发者_C百科 array as a class member? I'm converting from C#
If you want to initialize your static class member in the source file, you need to do it outside of any function body. You also need to retain all of the type information in the definition. E.g.
// In level.cpp, at namespace (global) scope:
const float Level::NintyDegreeDirections[4] =
{
(float)(2*(Math.PI)),
(float)(3*(Math.PI)/2),
(float)Math.PI,
(float)Math.PI/2
};
(This assumes that you have defined a Math
namespace or class with an appropriate member PI
. Math
isn't native to C++.)
精彩评论