Quiero una variable miembro, que es un puntero doble. El objeto al que apunta el puntero doble no se debe modificar desde fuera de la clase.Devolver un doble puntero de solo lectura
Mi siguiente intento se obtiene una "conversión inválida de 'std :: string **' a 'const std :: string **'"
class C{
public:
const std::string **getPrivate(){
return myPrivate;
}
private:
std::string **myPrivate;
};
- ¿Por qué es el mismo construcción válida si solo uso un simple puntero
std::string *myPrivate
¿Qué puedo hacer para devolver un doble puntero de solo lectura?
¿Es un buen estilo hacer un molde explícito
return (const std::string**) myPrivate
?
¿Qué quiere constificar: el puntero o la cadena apuntada? –
Perdón por no ser claro, edité mi publicación. Es la cadena en sí que no se modificará. – Hugo
Pensar en ellos como "dobles punteros" puede ser la raíz de su problema. El término "doble puntero" es uno que nunca encontré hasta que encontré SO, y me gustaría saber qué idiota (no necesariamente en SO) lo originó. –