c++ - assigning const array pointer to non const array pointer -


#include <iostream>  int main() {           const int l_loc[3] = {1,2,3};           int (*l_loc2)[3] = null;           l_loc2 = const_cast<int (*)[3]>(l_loc);   // complaining here.            std::cout<<l_loc2[1]<<std::endl;                    return 0; } 

./example.cpp:7: error: invalid const_cast type ‘const int*’ type ‘int (*)[3]’

i can modify pointed line. clue please.

#include <iostream>  int main() {           const int l_loc[3] = {1,2,3};           int (*l_loc2)[3] = null;           l_loc2 = const_cast<int (*)[3]>(l_loc);   // complaining here.            std::cout<<l_loc2[1]<<std::endl;                    return 0; } 

l_loc pointer first integer in array. address contains constant. can't reassign l_loc point array of integer constants. why must cast address of l_loc. instead of l_loc2 = const_cast<int (*)[3]>(l_loc) need pass address of l_loc i.e. &l_loc. result l_loc2 = const_cast<int (*)[3]>(&l_loc) hope helps.


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -