C++ error cannot specify explicit initializer for arrays for char g[] -


i have declared following struct:

const struct database_already_exists {     const int code = 2001;     const char str[] = "database exists."; }; 

but when pass function:

database_already_exists db_err; error_output(db_err.str, db_err.code); 

it throws following error(visual studio 2013):

cannot specify explicit initializer arrays 

here declaration error_output:

template<class d> char* error_output(d err_str, int err_code = 0) {     return "(" + err_code + ") " + err_str; } 

how should change definition str member of struct eliminate such error?

i think can modify code below; return "(" + err_code + ") " + err_str; doesnt make sense, can't apply + operator on 2 char *'s .

#include <string> #include <iostream> #include <cstring> #include <sstream>  struct database_already_exists {      database_already_exists(const char* s) : str(s) {}      static const int code = 2001;      const char *str; };  template<class d> const char* error_output(d err_str, int err_code = 0) {        std::istringstream is;        is>>err_code;         std::string str;        str += "(";        str += is.str();        str += ") ";        str += err_str;        return str.c_str(); }  int main(void) {    database_already_exists db_err("database exists.");    const char *res = error_output(db_err.str, db_err.code);    std::cout<<res<<std::endl;     return 0; } 

Comments

Popular posts from this blog

python - No exponential form of the z-axis in matplotlib-3D-plots -

php - Best Light server (Linux + Web server + Database) for Raspberry Pi -

c# - "Newtonsoft.Json.JsonSerializationException unable to find constructor to use for types" error when deserializing class -