Outils pour utilisateurs

Outils du site


probleme:compilation:c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
probleme:compilation:c [2018/04/27 23:39] – Ajout de "error: there are no arguments to 'XXXX' that depend on a template parameter, so a declaration of 'XXXX' must be available" rootprobleme:compilation:c [2022/10/05 14:16] (Version actuelle) – Remove name root
Ligne 12: Ligne 12:
  
 ====error: request for member 'XXXX' in 'XXXX', which is of non-class type ‘XXXX()’==== ====error: request for member 'XXXX' in 'XXXX', which is of non-class type ‘XXXX()’====
-Soit une classe ''CContexte'' avec un constructeur vide. Lors de la déclaration d'une instance (de nom ''projet'') dans la pile, il pourrait être naturel d'écrire ''CContexte projet ();''. Ne pas le faire, en effet, dans ce cas, ''g++'' considère ici la déclaration d'un prototype d'une fonction plutôt que la déclaration d'une variable avec son constructeur vide. La bonne solution est d'écrire ''CContexte projet;''.+Soit une classe ''CContexte'' avec un constructeur vide. Lors de la déclaration d'une instance (de nom ''projet'') dans la pile, il pourrait être naturel d'écrire ''CContexte projet ();''. 
 + 
 +Ne pas le faire, en effet, dans ce cas, ''g++'' considère ici la déclaration d'un prototype d'une fonction plutôt que la déclaration d'une variable avec son constructeur vide.  
 + 
 +La bonne solution est d'écrire 
 + 
 +  CContexte projet; 
 + 
 +ou 
 + 
 +  CContexte projet{};
  
 ====error: expected class-name before '{' token==== ====error: expected class-name before '{' token====
Ligne 27: Ligne 37:
 Ne pas utiliser ''XXXX()'' mais ''this%%->%%XXXX()''. Ne pas utiliser ''XXXX()'' mais ''this%%->%%XXXX()''.
  
-[[http://www.agapow.net/programming/cplusplus/no-arguments-that-depend-on-a-template-parameter/|No arguments that depend on a template parameter]] {{ :probleme:compilation:c:no_arguments_that_depend_on_a_template_parameter_-_make_more_machines.mhtml |Archive}}+[[http://www.agapow.net/programming/cplusplus/no-arguments-that-depend-on-a-template-parameter/|No arguments that depend on a template parameter]] {{ :probleme:compilation:c:no_arguments_that_depend_on_a_template_parameter_-_make_more_machines_2020-04-28_10_44_06_pm_.html |Archive du 01/07/2005 le 28/07/2020}}
  
 ====error: there are no arguments to 'XXXX' that depend on a template parameter, so a declaration of 'XXXX' must be available [-fpermissive]==== ====error: there are no arguments to 'XXXX' that depend on a template parameter, so a declaration of 'XXXX' must be available [-fpermissive]====
Ligne 36: Ligne 46:
  
 Il manque le ''#include <xxxx.h>'' de la fonction ''XXXX''. Il manque le ''#include <xxxx.h>'' de la fonction ''XXXX''.
 +
 +====error: static assertion failed: comparison object must be invocable as const====
 +<code>
 +/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/stl_tree.h: In instantiation of 'class std::_Rb_tree<std::unique_ptr<llgc::software::gdb::Stack>, std::unique_ptr<llgc::software::gdb::Stack>, std::_Identity<std::unique_ptr<llgc::software::gdb::Stack> >, llgc::software::gdb::SetStack::LocalCompare, std::allocator<std::unique_ptr<llgc::software::gdb::Stack> > >':
 +/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/stl_multiset.h:134:17:   required from 'class std::multiset<std::unique_ptr<llgc::software::gdb::Stack>, llgc::software::gdb::SetStack::LocalCompare>'
 +.../lib2lgc/src/2lgc/software/gdb/set_stack.h:272:55:   required from here
 +/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/stl_tree.h:457:21: error: static assertion failed: comparison object must be invocable as const
 +       static_assert(is_invocable_v<const _Compare&, const _Key&, const _Key&>,
 +</code>
 +
 +Dans la classe ''llgc::software::gdb::SetStack::LocalCompare'' passer l'opérateur ''operator()'' à ''const''.
 +
 +[[https://stackoverflow.com/questions/51235355/comparison-object-being-invocable-as-const|Comparison object being invocable as const]] {{ :probleme:compilation:c:c_-_comparison_object_being_invocable_as_const_-_stack_overflow_2020-04-28_10_44_07_pm_.html |Archive du 08/07/2018 le 28/04/2020}}
probleme/compilation/c.1524865189.txt.gz · Dernière modification : 2018/04/27 23:39 de root