Je souhaite une variable de membre, qui est un double pointeur. L'objet, pointeur double, ne doit pas être modifié depuis l'extérieur de la classe.Renvoie un double pointeur en lecture seule
Mon essai suivant donne un "conversion non valide de 'std :: string **' à 'const std :: string **'"
class C{
public:
const std::string **getPrivate(){
return myPrivate;
}
private:
std::string **myPrivate;
};
- Pourquoi est le même Construire valide si j'utilise juste un simple pointeur
std::string *myPrivate
Que puis-je faire pour retourner un double pointeur en lecture seule? Est-il bon de faire une distribution explicite
return (const std::string**) myPrivate
?
Que voulez-vous consomment: le pointeur ou la chaîne pointée? –
Désolé de ne pas être clair, j'ai édité mon post. C'est la chaîne elle-même qui ne doit pas être modifiée. – Hugo
Penser à eux comme "double pointeurs" peut être la racine de votre problème. Le terme "double pointeur" est celui que je n'ai jamais rencontré jusqu'à ce que je sois tombé sur SO, et je serais un peu intéressé de savoir quel nid (pas nécessairement sur SO) l'a créé. –