0
私はこのプロジェクトRealtimebattle reloaded (github)をコンパイルしようとしています。エラー: 'dirent *'を 'search_directory'に変換できません(std :: string、std :: list <start_tournament_info_t *>&bool):: direct * '
しかし、gccが奇妙なエラーがスローされます:
RealTimeBattle_reloaded/RealtimeBattle/original_gtk/src/Various.cc:473:30: error: cannot convert ‘dirent*’ to ‘search_directories(std::string, std::list<start_tournament_info_t*>&, bool)::direct*’ in assignment
while(NULL != (entry = readdir(dir)))
とソースコードは次のとおりです。
void
search_directories(string directory,
list<start_tournament_info_t*>& tour_list,
const bool check_robots)
{
bool err_in_file = false;
DIR* dir;
if(NULL != (dir = opendir(directory.c_str())))
{
struct dirent* entry;
while(NULL != (entry = readdir(dir)))
{
string full_file_name = directory + entry->d_name;
bool res = false;
if(check_robots)
res = check_if_filename_is_robot(full_file_name, &err_in_file);
else
res = check_if_filename_is_arena(full_file_name, &err_in_file);
if(res)
{
start_tournament_info_t* info;
info = new start_tournament_info_t(0, false, full_file_name, "");
tour_list.push_back(info);
}
}
closedir(dir);
}
}
私は、ログと非常に混乱しています。
投稿したコードとエラーは、ローカルに表示されているものと一致していますか?あなたが 'dirent'ではなく' direct'を参照していると二度書いていましたが、前者のタイプは投稿されたコードでは使われていません。そのタイプミスは元のコードに存在しますか?そうでない場合は、[MCVE](http://stackoverflow.com/help/mcve)を生成して投稿してください。 – jerry