Bonjour,
alors avant tou voici mon code:
main.cpp
Sudoku.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #include <iostream> #include "Sudoku.h" #include <boost/multi_array.hpp> int main() { typedef boost::multi_array<int,2> grille; grille grille2(boost::extents[9][9]); int i; grille2[9][9]={ {9,0,0,1,0,0,0,0,5}, {0,0,5,0,9,0,2,0,1}, {8,0,0,0,4,0,0,0,0}, {0,0,0,0,8,0,0,0,0}, {0,0,0,7,0,0,0,0,0}, {0,0,0,0,2,6,0,0,9}, {2,0,0,3,0,0,0,0,6}, {0,0,0,2,0,0,9,0,0}, {0,0,1,9,0,4,5,7,0} }; Sudoku sud(grille2[9][9]); }
Sudoku.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #include <iostream> #include "Sudoku.h" Sudoku::Sudoku(int grille[][]) { int size_1, size_2, i, j; /*for(i=0; i<9; ++i) for(j=0; i<9; ++j) m_grille[i][j]=grille[i][j];*/ } void Sudoku::afficher() { int size_1, size_2, i, j; for(i=0; i<9; ++i) { std::cout << std::endl; for(j=0; j<9; ++j) std::cout << m_grille[i][j] << " "; } }
et le retour du compilateur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include <iostream> #include <vector> class Sudoku { public: Sudoku(int grille[][]); void afficher(); private: int** m_grille; };
Avant d'en arriver la j'effectue plusieurs tests, et d'après mes recherches il semblerait que les tableaux a deux dimensions et plus soient gérés différemment en c++. En effet j'ai l'improssion que le problème se pose au niveau de la grille2, et son passage e argument, mais je n'arrive pas à régler mon problème. Voilà pourquoi j'en appelle à vous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 [ 50%] Building CXX object CMakeFiles/../bin/Sudoku.dir/home/scriptor/Programmation/Sudoku/src/main.cpp.o In file included from /home/scriptor/Programmation/Sudoku/src/main.cpp:2:0: /home/scriptor/Programmation/Sudoku/src/Sudoku.h:7:23: erreur: declaration of grille as multidimensional array must have bounds for all dimensions except the first /home/scriptor/Programmation/Sudoku/src/main.cpp: In function int main(): /home/scriptor/Programmation/Sudoku/src/main.cpp:20:2: attention : extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] /home/scriptor/Programmation/Sudoku/src/main.cpp:20:2: erreur: cannot convert <brace-enclosed initializer list> to int in assignment make[2]: *** [CMakeFiles/../bin/Sudoku.dir/home/scriptor/Programmation/Sudoku/src/main.cpp.o] Erreur 1 make[1]: *** [CMakeFiles/../bin/Sudoku.dir/all] Erreur 2 make: *** [all] Erreur 2
Merci de toutes réponses
Partager