Вернуть двойной указатель только для чтения

Я хочу использовать переменную-член, которая является двойным указателем. Объект, на который указывает двойной указатель, не должен изменяться извне класса.

Мои следующая попытка дает "недопустимое преобразование из 'std :: string **' в 'const std :: string **'"

class C{

public:
    const std::string **getPrivate(){
        return myPrivate;
    }

private:
    std::string **myPrivate;
};
  • Почему такая же конструкция допустима, если я использую только простой указатель std :: string * myPrivate
  • Что я могу сделать, чтобы вернуть двойной указатель только для чтения?

    Это хороший стиль - делать явное приведение return (const std :: string **) myPrivate ?

5
задан Ken White 8 June 2011 в 19:43
поделиться