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

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

java - Copying object fields -

c++ - Clear the memory after returning a vector in a function -