Salve a tutti ho un problema nella gestione di una connessione tra un programma in c++ e MYSQL la connessione e selezione funzionano bene ma ho un problema quando cerco di distruggere la struttura MYSQL. HO questo codice
codice:
#include <mysql/mysql++>
#include <iostream>

int main()
{
	
	MYSQL* MySQLObject; //crea un oggetto MYSQL
	MYSQL_ROW Row; //crea un oggetto rs
	MYSQL_RES *res; // crea un resource
	MYSQL_FIELD *fd; //crea un campo MYSQL

	char SQL_Query[] = "SELECT name,class,level FROM `user` WHERE 1;";
	

	if(!(MySQLObject = mysql_init(0)))
	{
	   	cerr << "Impossibile inizializzare MySQL" << endl;
		delete MySQLObject;//errore
	    exit(1);
	}
	if(!mysql_real_connect(MySQLObject, "127.0.0.1", "root", "xxx", "utenti", 3306, NULL, 0))
	{
		
		cerr << "Impossibile contattare il server MySQL";
		mysql_close(MySQLObject);
		delete MySQLObject;// errore
		exit(1);
	}
	if(!mysql_query(MySQLObject, SQL_Query))
	{
		
		res = mysql_store_result(MySQLObject);//acquire the record resource from the returned query results
		unsigned int i = static_cast<unsigned int>(mysql_num_rows(res)); // numero di righe ottenute
		for(int x = 0; fd = mysql_fetch_field(res); x++)//ottiene il nome dei campi della tabella
		{
			cout << fd->name << "\t\t"; 
		}
		cout << endl;
		while(Row = mysql_fetch_row(res))//cicla finche ci sono righe valide
		{
			int j = mysql_num_fields(res); // numero di campi della riga
			for(int k = 0; k < j; k++)
			{
				if((Row[k] == NULL) || (!strlen(Row[k]))) cout << "NULL" << "\t\t	";
				cout << Row[k] << "\t\t";
			}
		}
		mysql_free_result(res); //libero la memoria occupata da un resource
	}
	else
	{
		cerr << " Impossibile eseguire la query specificata. Perfavore controlla la sintassi e la semantica.\n";
		cerr <<	" Possibili cause: la query non e' valida, il database o la tabella non esistes\n";
		cerr <<	" all'IP address/port specificato." << endl;
		mysql_close(MySQLObject);
		exit(1);
	}

	mysql_close(MySQLObject);//chiudo la connessione
	delete MySQLObject;//errore
	return 0;
}
ho segnalato le linee incriminate con un commento (delete MySQLObject;//errore)
Il problema non sorge in compilazione ma in esecuzione:

da quello che vedo pare esserci un problema con un assert in una libreria la domanda è perchè?