std::ignore
peuvent travailler, mais il est destiné à être utilisé pour des n-uplets. Si vous avez besoin d'inclure le tuple en-tête et qui sait ce que les opérations sont effectuées à la cession. Cela peut également briser dans une autre version c++ parce qu'il n'a jamais été documentée pour être utilisé de cette façon.
Une meilleure façon pour cela est le C++17 attribut [[maybe_unused]]
void func([[maybe_unused]] int i)
{
}
Elle place la déclaration du droit à la déclaration de la variable, de sorte que vous n'avez pas à les déclarer dans une ligne supplémentaire ou de la déclaration.
La même chose peut être utilisé pour les locaux (local et statique) variables
...
[[maybe_unused]] static int a = something();
...
Et aussi pour beaucoup d'autres:
Apparaît dans la déclaration d'une classe, d'une définition de type, une variable, un
non membre de données, une fonction, une énumération ou un agent recenseur.
Si le compilateur émet des avertissements inutilisés entités, cet avertissement est
supprimée pour toute entité déclarée maybe_unused.
Voir http://en.cppreference.com/w/cpp/language/attributes
Comme pour les personnes concernées que vous pouvez toujours utiliser les variables d'après vous les déclarez inutilisés:
Oui, c'est possible, mais (au moins avec clang), vous obtiendrez des mises en garde dans le cas où vous utilisez maybe_unused
les variables déclarées.