я очень смущен, почему мой код дает ошибку при выполнении проверки Valgrind памяти:Вектора с шаблоном дает ошибку в Valgrind при печати контекста
valgrind --tool=memcheck --leak-check=yes ./output
код прекрасно работает при компиляции и запуск. Но при запуске инструмента valgrind он дает это сообщение в конце.
ОШИБКА РЕЗЮМЕ: 170 ошибок из 9 контекстов (подавленных: 2 из 2)
Было бы замечательно, если бы кто-то может помочь мне.
Спасибо/Пит
#include <iostream>
#include <cstdlib>
#include <list>
#include <stdexcept>
#include <algorithm>
using namespace std;
template <typename T>
class Vector{
public:
T* p;
size_t size;
public:
Vector<T>(){
cout << "The default constructor" << endl;
this-> size = 10; // initial size
this-> p = new T[size];
}
~Vector<T>(){
cout << "The destructor" << endl;
delete [] p;
}
void print_values(){
for (unsigned i = 0; i < this->size; ++i){
std::cout << *(this->p+i) << " ";}
std::cout << endl;
}
};
int main(){
Vector <double> dvect;
//dvect.print_values(); // why gives error?
}
какой тип 'T' вы использовали для создания образца? –
Если я правильно понял вопрос, то это Я решил использовать в основном. Но это первый раз, когда я использую шаблон, поэтому я мало знаю об этом. –