私はpush_back関数を使用しているC++プログラムをコンパイルしていました。終わりに、私はこのエラーを取得しています:あなたは_M_insert_auxを見つけるだろうが、私はその定義を見つけることができませんでしたstl_vector.hファイルで"_M_insert_aux()"への未定義の参照を克服するには?
/usr/include/c++/4.4/bits/stl_vector.h:741: undefined reference to `std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::**_M_insert_aux**(__gnu_cxx::__normal_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
。
この問題を解決する方法を教えてください。
コードスニペット:
for (table=lex->query_tables; table; table=table->next_global)
{
string table_db=table->db;
table_db += ":";
table_db= table_db+table->table_name;
current.tables.push_back(table_db);
DBUG_PRINT("Dip", (" %s: %s, %s",table->db, table->table_name, table->alias));
}
これを生成するコードを投稿できますか? – hmjd
OK ...ここにするための1つのスニペット –
である(表= lex-> query_tables、テーブル、テーブル=卓上> next_global) \t {\t \tストリングtable_db =卓上> DB。 \t \t table_db + = ":"; \t \t table_db = table_db + table-> table_name; \t \t current.tables.push_back(table_db); \t \t \t DBUG_PRINT( "Dip"、( "%s:%s、%s"、表 - > db、表 - >表名、表 - >別名)); } –