Я пытался найти код Скотта Мейерса Эффективный C++, пункт 3 в частности.Указатель ошибки сегментации на ссылку
Код в своей книге должен быть очень похож на это (он ушел из конструктора)
#include <iostream>
class TextBlock {
public:
TextBlock(char* ptr) : ptrText(ptr)
{}
char& operator[](std::size_t pos) const {
return ptrText[pos];
}
private :
char* ptrText;
};
int main(int argc, char* argv[]) {
const TextBlock block("Hello");
std::cout << block[0] << std::endl;
char* ptr = &block[0];
*ptr = 'J';
std::cout << block[0];
}
В момент, когда я изменить содержимое в указатель PTR (* PTR = «J»;) , Я получаю ошибку сегментации (что обычно происходит при разыменовании неинициализированного или освобожденного указателя). Это не происходит здесь, что происходит не так на *ptr = 'J'
;
Указатель на ссылку невозможно. – chris
@MikeSeymour, так же, как не имеет значения, как заголовок;) – chris
@chris: К сожалению, я не заметил названия. –