2016-04-05 16 views
1

2つのコンテキストからvalgrindエラーが発生しています。これは第1です。それは私が初期化されていない値を持っていると主張しますが、私は何も見ません。それは問題がある私に言っていますどこに私は理解して助けてください:Valgrind - 条件付きジャンプまたは移動が初期化されていない値に依存する

 valgrind --leak-check=yes --track-origins=yes ./Lab4 in62.txt actual.txt 
==4041== Memcheck, a memory error detector 
==4041== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. 
==4041== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info 
==4041== Command: ./Lab4 in62.txt actual.txt 
==4041== 
==4041== Conditional jump or move depends on uninitialised value(s) 
==4041== at 0x409F2C: __gnu_cxx::__enable_if<std::__is_char<char>::__value, bool>::__type std::operator==<char>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (basic_string.h:4913) 
==4041== by 0x40AE3F: bool std::operator!=<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (basic_string.h:4950) 
==4041== by 0x407FFD: Relation::join_createMap(std::deque<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > >&, std::vector<Relation, std::allocator<Relation> >&, Rule&, int&, bool&, bool&, Tuple const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >&, std::vector<int, std::allocator<int> >&, std::vector<int, std::allocator<int> >&) (relation.cpp:317) 
==4041== by 0x408F87: Relation::join(std::vector<Relation, std::allocator<Relation> >&, Rule&, std::vector<Rule, std::allocator<Rule> >&) (relation.cpp:438) 
==4041== by 0x42069C: Database::ruleEvaluation(std::vector<Rule, std::allocator<Rule> >&, std::vector<Predicate, std::allocator<Predicate> >&, std::vector<Predicate, std::allocator<Predicate> >&, std::basic_ofstream<char, std::char_traits<char> >&) (database.cpp:77) 
==4041== by 0x41FA97: Database::evaluate(std::vector<Predicate, std::allocator<Predicate> >&, std::vector<Predicate, std::allocator<Predicate> >&, std::vector<Rule, std::allocator<Rule> >&, std::vector<Predicate, std::allocator<Predicate> >&, std::basic_ofstream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (database.cpp:12) 
==4041== by 0x42822C: main (main.cpp:27) 
==4041== Uninitialised value was created by a heap allocation 
==4041== at 0x4C2C12F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) 
==4041== by 0x41642A: __gnu_cxx::new_allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::allocate(unsigned long, void const*) (new_allocator.h:104) 
==4041== by 0x414A62: std::allocator_traits<std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > >::allocate(std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >&, unsigned long) (alloc_traits.h:360) 
==4041== by 0x411C7F: std::_Deque_base<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > >::_M_allocate_node() (stl_deque.h:601) 
==4041== by 0x41553C: std::_Deque_base<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > >::_M_create_nodes(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >**, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >**) (stl_deque.h:726) 
==4041== by 0x4129DE: std::_Deque_base<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > >::_M_initialize_map(unsigned long) (stl_deque.h:700) 
==4041== by 0x40EB1F: std::_Deque_base<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > >::_Deque_base() (stl_deque.h:490) 
==4041== by 0x40B337: std::deque<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > >::deque() (stl_deque.h:883) 
==4041== by 0x408DC3: Relation::join(std::vector<Relation, std::allocator<Relation> >&, Rule&, std::vector<Rule, std::allocator<Rule> >&) (relation.cpp:425) 
==4041== by 0x42069C: Database::ruleEvaluation(std::vector<Rule, std::allocator<Rule> >&, std::vector<Predicate, std::allocator<Predicate> >&, std::vector<Predicate, std::allocator<Predicate> >&, std::basic_ofstream<char, std::char_traits<char> >&) (database.cpp:77) 
==4041== by 0x41FA97: Database::evaluate(std::vector<Predicate, std::allocator<Predicate> >&, std::vector<Predicate, std::allocator<Predicate> >&, std::vector<Rule, std::allocator<Rule> >&, std::vector<Predicate, std::allocator<Predicate> >&, std::basic_ofstream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (database.cpp:12) 
==4041== by 0x42822C: main (main.cpp:27) 
[more errors] 
==5323== 
==5323== 
==5323== HEAP SUMMARY: 
==5323==  in use at exit: 72,704 bytes in 1 blocks 
==5323== total heap usage: 29,328 allocs, 29,327 frees, 3,430,706 bytes allocated 
==5323== 
==5323== LEAK SUMMARY: 
==5323== definitely lost: 0 bytes in 0 blocks 
==5323== indirectly lost: 0 bytes in 0 blocks 
==5323==  possibly lost: 0 bytes in 0 blocks 
==5323== still reachable: 72,704 bytes in 1 blocks 
==5323==   suppressed: 0 bytes in 0 blocks 
==5323== Reachable blocks (those to which a pointer was found) are not shown. 
==5323== To see them, rerun with: --leak-check=full --show-leak-kinds=all 
==5323== 
==5323== For counts of detected and suppressed errors, rerun with: -v 
==5323== ERROR SUMMARY: 309 errors from 2 contexts (suppressed: 0 from 0) 

はmain.cppに:25-27

std::ofstream out; 
std::string arg = std::string(argv[2]); 
myDatabase.evaluate(myDatalogProgram.getFactsVector(),myDatalogProgram.getQueriesVector(),myDatalogProgram.getRulesVector(),myDatalogProgram.getSchemesVector(), out, arg); 

参加:

(relation.cpp:425であります6行目、std::deque<strPairMap> working_tuples_deque;は以下の関数から)

Relation Relation::join(std::vector<Relation> &cur_relation_vector, Rule &cur_rule, std::vector<Rule> &rules_vector){ 
    bool dup_scheme_params = false; 
    strIntMap new_scheme_map; 
    Scheme new_scheme; 
    join_MakeScheme(cur_relation_vector, dup_scheme_params, new_scheme_map, new_scheme); 
    std::deque<strPairMap> working_tuples_deque; //relation.cpp:425 
    std::deque<strPairMap> working_tuples_deque_final; 
    std::vector<int> grand_copy_vector; 
    for (int j = 0; j < cur_relation_vector.size(); j++){ 
     for (auto &x: cur_relation_vector.at(j).tuple_set){ 
      bool diff_id_found = false; 
      strPairMap temp_map; 
      std::vector<int> map_indeces_to_copy; 
      int added_to_vector = 0; 
      if (working_tuples_deque.size() == 0){ 
       join_createFirstMap(grand_copy_vector, working_tuples_deque, temp_map, cur_relation_vector, added_to_vector, j, x); 
      } 
      else{ 
       join_createMap(working_tuples_deque, cur_relation_vector, cur_rule, j, dup_scheme_params, diff_id_found, x, temp_map, map_indeces_to_copy, grand_copy_vector); 
       join_combinePrevMapsToCurMap(diff_id_found, map_indeces_to_copy, temp_map, grand_copy_vector, cur_relation_vector, working_tuples_deque,j); 
      } 
     } 
    } 
    join_removeUnworthyMaps(working_tuples_deque, working_tuples_deque_final, grand_copy_vector, new_scheme); 
    /* Create new relation with new properties */ 
    Relation combo_relation(cur_rule.primary_predicate.getID(),new_scheme,{}); 
    std::set<Tuple> temp_tuple_set; 
    for (auto& o: working_tuples_deque_final){ 
     Tuple temp_tuple; 
     for (auto& z: o){ 
      temp_tuple.push_back(z.second.first); 
     } 
     temp_tuple_set.insert(temp_tuple); 
    } 
    combo_relation.tuple_set = temp_tuple_set; 
    return combo_relation; 
} 

join_createMap:

void Relation::join_createMap(std::deque<strPairMap> &working_tuples_deque, std::vector<Relation> &cur_relation_vector, Rule &cur_rule, int &j, bool &dup_scheme_params, bool &diff_id_found, const Tuple &x, strPairMap &temp_map, std::vector<int> &map_indeces_to_copy, std::vector<int> &grand_copy_vector){ 
    for (int l = 0; l < working_tuples_deque.size(); l++){ 
     bool add_index_to_vector = true; 
     for (int k = 0; k < cur_relation_vector.at(j).scheme.size(); k++){ 
      /* If curent scheme param k is found in map l in working deque */ 
      if (working_tuples_deque.at(l).find(cur_relation_vector.at(j).scheme.at(k))->second.second != cur_relation_vector.at(j).name){ //relation.cpp:317 
       diff_id_found = true; 
       if (working_tuples_deque.at(l).find(cur_relation_vector.at(j).scheme.at(k)) != working_tuples_deque.at(l).end()){ 
        std::string param_to_match = working_tuples_deque.at(l).find(cur_rule.predicate_vector.at(j).parameter_vector.at(k).toString())->second.first; 
        /* but if the values with the matching scheme params don't match.. */ 
        if (param_to_match != x.at(k)){ 
         add_index_to_vector = false; 
        } 
       } 
      } 
      std::pair<std::string, std::string> temp_pair("",""); 
      temp_pair.first = x.at(k); 
      temp_pair.second = cur_relation_vector.at(j).name; 
      temp_map.emplace(cur_relation_vector.at(j).scheme.at(k), temp_pair); 
     } 
     if (add_index_to_vector == true || dup_scheme_params == false){ 
      map_indeces_to_copy.push_back(l); 
      grand_copy_vector.push_back(l); 
     } 
    } 
} 

初期化されていない変数の何種類?提供された情報でそれをどのように特定しますか?

アップデート:私は今、問題はrelation.cpp:317にあることを認識

join_createMap内:

if (working_tuples_deque.at(l).find(cur_relation_vector.at(j).scheme.at(k))->second.second != cur_relation_vector.at(j).name){...} 

私は物事を打破する場合:

for (int k = 0; k < cur_relation_vector.at(j).scheme.size(); k++){ 
/* If curent scheme param k is found in map l in working deque */ 
strPairMap::iterator compare_it = working_tuples_deque.at(l).find(cur_relation_vector.at(j).scheme.at(k)); 
std::pair<std::string,std::string> compare_pair = compare_it->second; // offending line 
std::string compare_string = compare_pair.second; 
if (compare_string != cur_relation_vector.at(j).name){...} 
... 
} 

Valgrindの目標このライン:

次のエラーのすべてと

std::pair<std::string,std::string> compare_pair = compare_it->second; 

Source and destination overlap in memcpy(0x5ea3040, 0x5b2c450, 95601552) 
Invalid read of size 8 
Conditional jump or move depends on uninitialised value(s) 
Uninitialised value was created by a heap allocation 
Conditional jump or move depends on uninitialised value(s) 
Uninitialised value was created by a heap allocation 
terminate called after throwing an instance of 'std::logic_error' 
    what(): basic_string::_M_construct null not valid 

Process terminating with default action of signal 6 (SIGABRT) 
+0

。初期化コンストラクタ 'std :: ofstream(const char * filename、ios_base :: openmode mode)'の使用を検討してください。それとも、ファイルストリームを '評価する 'のですか? – muXXmit2X

+2

'argv [2]'が 'arg'を初期化する前に設定されていることを確認しますか? –

+0

私は 'if(argc!= 3){ return 0; 'main'(' 'int main(int argc、char * argv [])')の最初の文として } ' – velkoon

答えて

0

問題のある行番号がrelation.cpp:317ないmain.cpp:27ました。 (Valgrindは、問題の原因から最も広い範囲を辿っています)find関数は時々working_tuples_deque.at(l).end()を返しました。その後、コードは.end()second要素にアクセスしましたが無効です。それがValgrindエラーの原因です。

解決策として、私は最初に別々のstd::stringcompare_string)を初期化しました。私はが.end()イテレータを返さなかった場合(つまりfind関数が実際に何かを見つけた場合)、ifステートメントを使用してcompare_stringを再割り当てするだけです。

結果:

std::string compare_string = ""; 
strPairMap::iterator compare_it = working_tuples_deque.at(l).find(cur_relation_vector.at(j).scheme.at(k)); 
if (compare_it != working_tuples_deque.at(l).end()){ 
std::pair<std::string,std::string> compare_pair = compare_it->second; 
compare_string = compare_pair.second; 
} 

クレド:私は、これは任意のファイルに関連付けされることはありませんout` `エラーが発生しますが、かどうかわからないんだけど、すべてのコメンテーター

関連する問題