У меня есть класс с именем Sample
, который содержит параметр value
типа std::string
.Существует открытая функция-член setValue(std::string tempdata)
, которая используется для установки значения этого члена.
void Sample::setValue( std::string tempdata ) { this->value= tempdata; }
Из приложения я должен установить значение этого параметра.Я делаю что-то вроде:
std::string tempvalue = "Hello";
Sample s;
s.setValue( tempvalue );
, когда я запускаю приложение, программа аварийно завершает работу, и при отладке его через gdb я получаю:
#0 0x049da761 in __gnu_cxx::__exchange_and_add () from /usr/lib/libstdc++.so.6
#1 0x049c0e6e in std::string::assign () from /usr/lib/libstdc++.so.6
#2 0x049c0ed1 in std::string::operator= () from /usr/lib/libstdc++.so.6
#3 0x08075e9b in Sample::setValue (this=0x83779a8, tempdata=Cannot access memory at address 0xffffffff )
Может кто-нибудь подсказать, пожалуйста, как мне отладитьэтот вопрос?