Ich baue gerade ein Test-Szenario für eine Berkeley DB auf und habe im Moment Probleme mit dem std::string.
Code: Alles auswählen
#include <string.h>
#include "my_db.hpp"
my_db::my_db( std::string &path, std::string db_name ) : db( NULL, 0 ), db_file_name( path, db_name ), open_flags( DB_CREATE )
{
try
{
// Redirect error information to std::cerr
db.set_error_stream( &std::cerr );
// Open the database
db.open( NULL, db_file_name.c_str(), NULL, DB_BTREE, open_flags, 0 );
}
catch( DbException &e )
{
std::cerr << "Error opening database: " << db_file_name.c_str() << std::endl;
std::cerr << e.what() << std::endl;
}
catch( std::exception &e )
{
std::cerr << "Error opening database: " << db_file_name.c_str() << std::endl;
std::cerr << e.what() << std::endl;
}
}
my_db::~my_db()
{
close();
}
void my_db::close()
{
try
{
db.close( 0 );
std::cout << "database " << db_file_name.c_str() << " is closed." << std::endl;
}
catch( DbException &e )
{
std::cerr << "Error closing database: " << db_file_name.c_str() << std::endl;
std::cerr << e.what();
}
catch( std::exception &e )
{
std::cerr << "Error closing database: " << db_file_name.c_str() << std::endl;
std::cerr << e.what();
}
}
int main()
{
return 0;
}
Code: Alles auswählen
Fehler 1 error C2039: 'iterator_category': Ist kein Element von 'std::basic_string<_Elem,_Traits,_Ax>' c:\programme\microsoft visual studio 8\vc\include\xutility 610
Fehler 2 error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'iterator_category' c:\programme\microsoft visual studio 8\vc\include\xutility 610
Fehler 3 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. c:\programme\microsoft visual studio 8\vc\include\xutility 610
Fehler 4 error C2602: 'std::iterator_traits<_Iter>::iterator_category' ist kein Element einer Basisklasse von 'std::iterator_traits<_Iter>' c:\programme\microsoft visual studio 8\vc\include\xutility 610
Fehler 5 error C2868: 'std::iterator_traits<_Iter>::iterator_category': Unzulässige Syntax für using-Deklaration; vollständiger Name erwartet c:\programme\microsoft visual studio 8\vc\include\xutility 610
Fehler 6 error C2664: 'void std::basic_string<_Elem,_Traits,_Ax>::_Construct<_It>(_It,_It,std::_Int_iterator_tag)': Konvertierung des Parameters 3 von 'int' in 'std::_Int_iterator_tag' nicht möglich c:\programme\microsoft visual studio 8\vc\include\xstring 681