プロジェクトで C++ を使用しています。ペア (文字列、整数) を格納し、文字列に基づいてアクセスする必要があります。multimap クラスはそのために最適なようです。特定の文字列に関連付けられたすべての整数の平均とカウントを見つけるメソッドを含む独自のクラス、データベースを作成しようとしています。ただし、初期コンストラクターについては少し混乱しています。database data();
が呼び出されたときにデータベースを作成する必要がありますが、大きなエラーが発生します。
これは、database.cpp のコンストラクターの実装です。
database::database()
{
data = new multimap<string,int>; // allocates new space for the database
*data["asdf"]= 0; // adds a point. not needed...?
}
また、database.h ファイルはそのように見えます。
private:
multimap<string,double> *data;
エラーはかなり密集しており、解読できませんが、g++ database.cpp test.cpp を実行すると、これが出てきます。
$ g++ database.cpp test.cpp
database.cpp: In constructor ‘database::database()’:
database.cpp:11: error: cannot convert ‘std::multimap<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > >*’ to ‘std::multimap<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, double> > >*’ in assignment
database.cpp:12: error: invalid types ‘std::multimap<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, double> > >*[const char [5]]’ for array subscript
編集:
追加するのを忘れていました、助けてくれてありがとう!
さびた