У меня есть программа, разработанная Eclipse.
Ошибка не может быть выполнена
Это код, как указано ниже.
class VectorClass
{
private:
vector<string> VectorTest;
public:
VectorClass()
{
VectorTest[0] = "TEST1";
VectorTest[1] = "TEST2";
VectorTest[2] = "TEST3";
}
};
Когда вы написали такой код, я получаю следующую ошибку при отладке.
No source available for "std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::assign() at 0x3e0009dfd6"
Итак, я изменил код следующим образом.
class VectorClass
{
private:
vector<string> *VectorTest;
public:
VectorClass()
{
VectorTest = new vector<string>;
VectorTest->at(0) = "TEST1";
VectorTest->at(1) = "TEST2";
VectorTest->at(2) = "TEST3";
}
};
Тогда это стало такой ошибкой.
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check
И меня осмотрели, но я не знаю причины.
Будет ли неправильное использование.
Спасибо за чтение.
В обоих случаях ваш 'vector' всегда имеет размер 0. Попробуйте' VectorTest.push_back ("TEST1") 'добавить новый элемент. –
Вы работаете в режиме отладки или выпуска? – 0x499602D2