I am trying to print the following using the code as:
int main() {
        char p[] = "hello";
        char*t = p;
        char**b = &t;
        std::string s = b[0];
        cout<<"string="<<s<<" b[0]="<<b[0];
}
The output I get is as expected:
string=hello b[0]=hello
Now the same thing I want to achieve using a function call in which I pass a variable by reference as:
void func(char**& p) {
        char *k = (char*)malloc(8*sizeof(char));
        k = (char*)"abc";
        p = &k;
}
int main() {
        char**j = NULL;
        func(j);
        std::string s1 = j[0];
        cout<<s1;
}
Now I am getting a null string. What could be the reason and how to solve it ?
 
     
     
    