How to pass a char pointer by address to be accepted to char**?
I have a struct, known as Shader, which holds the following information:

    struct Shader {
        enum ValueType{ VT_Attribute, VT_Uniform, VT_Varying };
        GLuint Memory;
        GLenum Type;
        char* Source;
        char* Name;
        std::map< Shader::ValueType, float* > Values;
    };

Yet, if I do something like:

`glShaderSource( shaderMem, 1, &shader.Source, NULL );`

I get the following error:

`error: invalid conversion from 'char* const*' to 'const char**'`

Why is this happening?
How to pass a char pointer by address to be accepted to char**?
===

I have a struct, known as Shader, which holds the following information:

    struct Shader {
        enum ValueType{ VT_Attribute, VT_Uniform, VT_Varying };
        GLuint Memory;
        GLenum Type;
        char* Source;
        char* Name;
        std::map< Shader::ValueType, float* > Values;
    };

Yet, if I do something like:

`glShaderSource( shaderMem, 1, &shader.Source, NULL );`

I get the following error:

`error: invalid conversion from 'char* const*' to 'const char**'`

Why is this happening?