c++ - array initialization unknowledge -
i know basic way initialize arrays.i error on compiler int array initialize on constructor not understand it.i need help. code is:
cpp file:
#include <iostream> using namespace std; #include "validationcontroller.h" validationcontroller::validationcontroller() { // todo auto-generated constructor stub monthtable[12]={0,3,3,6,1,4,6,2,5,0,3,5}; } validationcontroller::~validationcontroller() { // todo auto-generated destructor stub }
and header file:
#ifndef validationcontroller_h_ #define validationcontroller_h_ class validationcontroller { public: int monthtable[];//={0,3,3,6,1,4,6,2,5,0,3,5}; validationcontroller(); virtual ~validationcontroller(); }; #endif /* validationcontroller_h_ */
the error is:
..\src\validationcontroller.cpp:13: warning: extended initializer lists available -std=c++11 or -std=gnu++11 [enabled default]
and
..\src\validationcontroller.cpp:13: error: cannot convert '' 'int' in assignment
i not want make static. there solution keeps declaration header file?or should declare , initialize in .cpp file @ once after imports.
if can use c++11 write: in header file: #include
class validationcontroller { public: std::array<int, 12> monthtable; validationcontroller(); virtual ~validationcontroller(); };
in source file:
validationcontroller::validationcontroller() : monthtable{0,3,3,6,1,4,6,2,5,0,3,5} {}
or if not need change contents:
in header file:
#include <array> class validationcontroller { public: const static std::array<int, 12> monthtable; validationcontroller(); virtual ~validationcontroller(); };
in source file:
const std::array<int, 12> validationcontroller::monthtable = {0,3,3,6,1,4,6,2,5,0,3,5};
Comments
Post a Comment