L'initialisation d'un tableau de la paire en C++
Je veux initialiser un tableau de la paire de la manière suivante:
pair<int, int> adjs[4] = {{current_node.first-1, current_node.second}, {current_node.first+1, current_node.second}, {current_node.first, current_node.second-1}, {current_node.first, current_node.second+1}};
Cependant mon compilateur de Code::Blocks 12.1, continue de lancer l'erreur:
brace-enclosed initializer used to initialize `std::pair<int, int>'|
J'ai utilisé cette méthode une fois avant sur un compilateur en ligne et cela a fonctionné. Donc, est-ce le problème avec le compilateur ou de certains de la syntaxe problème dans mon code?
Je ne veux pas initialiser 4 paires, un par un. Suggérer une voie dans laquelle je peux me débarrasser de cette erreur.
OriginalL'auteur user1465557 | 2014-11-07
Vous devez vous connecter pour publier un commentaire.
Cette universelle de l'initialisation de la syntaxe de C++11 fonction, le compilateur que vous utilisez ne prend pas en charge le C++11, mais la en ligne.
Vous pouvez initialiser ton tableau comme ceci à la place:
Un exemple vivant: http://ideone.com/ggpGX9
OriginalL'auteur mattnewport