c++ cli - Error with VS C++ 2010 -


i have problem in vs 2010 c++ express, have project everytime start buidling , debuging giving me error : http://i.stack.imgur.com/6cuf1.png problem friend have same project , same code , work him, think there no prob in code in vs need helps , thank nb: tried reinstalit same probleme

piece.h :

#include "joueur.h"  using namespace system; using namespace system::drawing; using namespace system::windows::forms;  public ref class piece { private:     joueur^ proprietaire;  // pointeur vers joueur     int ligne;     int col;     string^ label;     image^ symbole;  public:     piece();      piece(joueur^ proprietaire, int ligne, int col, string^ label, image^ symbole);      property joueur^ propproprietaire {         joueur^ get();         void set(joueur^);     }      property int propligne {         int get();         void set(int);     }      property int propcol {         int get();         void set(int);     }      property string^ proplabel {         string^ get();         void set(string^);     }      property image^ propsym {         image^ get();         void set(image^);     } }; 

piece.cpp:

#include "stdafx.h" #include "piece.h"  piece::piece() {     this->proprietaire = nullptr;     ligne = 0;     col = 0;     label = nullptr;     symbole = nullptr; }  piece::piece(joueur^ prop, int l, int c, string^ la, image^ sym) {     this->proprietaire = prop;     ligne = l;     col = c;     label = la;     symbole = sym; }  joueur^ piece::propproprietaire::get() {     return proprietaire; }  void piece::propproprietaire::set(joueur^ prop) {     this->proprietaire = prop; }  int piece::propligne::get() {     return ligne; }  void piece::propligne::set(int l) {     ligne = l; }  int piece::propcol::get() {     return col; }  void piece::propcol::set(int c) {     col = c; }  string^ piece::proplabel::get() {     return label; }  void piece::proplabel::set(string^ l) {     label = l; }  image^ piece::propsym::get() {     return symbole; }  void piece::propsym::set(image^ img) {     symbole = img; } 

echecs.cpp:

#include "stdafx.h" #include "piece.h" #include "form1.h" #include "form2.h"  using namespace echecs;  namespace echecs {      void form1::quitter(object^  sender, eventargs^  e) {         close();     }      void form2::btnannuler_click(object^  sender, eventargs^  e) {         close();     }      void form2::btnvalider_click(object^  sender, eventargs^  e) {         form1::set(tbjoueur1->text);         form1::set2(tbjoueur2->text);         close();     }      void form1::menu_nouvellepartie(object^  sender, eventargs^  e) {         form2^ frm = gcnew form2();         frm->showdialog();     }      void form1::nouvellepartie() {         listejoueurs = gcnew array<joueur^>(2);  // instancier un tableau à 1 dimensio, de 2 éléménts         listejoueurs[0] = gcnew joueur("joueur 1", lbcoups1);         listejoueurs[1] = gcnew joueur("joueur 2", lbcoups2);         lbjoueur1->text = listejoueurs[0]->propnom;         lbjoueur2->text = listejoueurs[1]->propnom;          grille = gcnew array<piece^, 2>(8,8);  // instancier un tableau à 2 dimensions, de taille 8x8         for(int i=0 ; i<8 ; i++)             for(int j=0 ; j<8 ; j++)                 grille[i,j] = nullptr;  // initialiser chacun de ses éléments à null          // initialisation de la grille pour le joueur 1 (ligne 0 & 1)         grille[0,0] = gcnew piece(listejoueurs[0], 0, 0, "tour", pieces->images[0]);         grille[0,1] = gcnew piece(listejoueurs[0], 0, 1, "cavalier", pieces->images[1]);         grille[0,2] = gcnew piece(listejoueurs[0], 0, 2, "fou", pieces->images[2]);         grille[0,3] = gcnew piece(listejoueurs[0], 0, 3, "roi", pieces->images[3]);         grille[0,4] = gcnew piece(listejoueurs[0], 0, 4, "dame", pieces->images[4]);         grille[0,5] = gcnew piece(listejoueurs[0], 0, 5, "fou", pieces->images[2]);         grille[0,6] = gcnew piece(listejoueurs[0], 0, 6, "cavalier", pieces->images[1]);         grille[0,7] = gcnew piece(listejoueurs[0], 0, 7, "tour", pieces->images[0]);         for(int j=0 ; j<8 ; j++)             grille[1,j] = gcnew piece(listejoueurs[0], 1, j, "pion", pieces->images[5]);          // initialisation de la grille pour le joueur 2 (ligne 6 & 7)         grille[7,0] = gcnew piece(listejoueurs[1], 7, 0, "tour", pieces->images[6]);         grille[7,1] = gcnew piece(listejoueurs[1], 7, 1, "cavalier", pieces->images[7]);         grille[7,2] = gcnew piece(listejoueurs[1], 7, 2, "fou", pieces->images[8]);         grille[7,3] = gcnew piece(listejoueurs[1], 7, 3, "roi", pieces->images[9]);         grille[7,4] = gcnew piece(listejoueurs[1], 7, 4, "dame", pieces->images[10]);         grille[7,5] = gcnew piece(listejoueurs[1], 7, 5, "fou", pieces->images[8]);         grille[7,6] = gcnew piece(listejoueurs[1], 7, 6, "cavalier", pieces->images[7]);         grille[7,7] = gcnew piece(listejoueurs[1], 7, 7, "tour", pieces->images[6]);         for(int j=0 ; j<8 ; j++)             grille[6,j] = gcnew piece(listejoueurs[1], 6, j, "pion", pieces->images[11]);          /* pion, pion, pion, pion, pion, pion, pion, pion            tour, cavalier, fou, roi, dame, fou, cavalier, tour */          // instanciation des cases du tableau tab         tab[0,0] = case_0_0;     tab[0,1] = case_0_1;     tab[0,2] = case_0_2;     tab[0,3] = case_0_3;         tab[0,4] = case_0_4;     tab[0,5] = case_0_5;     tab[0,6] = case_0_6;     tab[0,7] = case_0_7;         tab[1,0] = case_1_0;     tab[1,1] = case_1_1;     tab[1,2] = case_1_2;     tab[1,3] = case_1_3;         tab[1,4] = case_1_4;     tab[1,5] = case_1_5;     tab[1,6] = case_1_6;     tab[1,7] = case_1_7;         tab[2,0] = case_2_0;     tab[2,1] = case_2_1;     tab[2,2] = case_2_2;     tab[2,3] = case_2_3;         tab[2,4] = case_2_4;     tab[2,5] = case_2_5;     tab[2,6] = case_2_6;     tab[2,7] = case_2_7;         tab[3,0] = case_3_0;     tab[3,1] = case_3_1;     tab[3,2] = case_3_2;     tab[3,3] = case_3_3;         tab[3,4] = case_3_4;     tab[3,5] = case_3_5;     tab[3,6] = case_3_6;     tab[3,7] = case_3_7;         tab[4,0] = case_4_0;     tab[4,1] = case_4_1;     tab[4,2] = case_4_2;     tab[4,3] = case_4_3;         tab[4,4] = case_4_4;     tab[4,5] = case_4_5;     tab[4,6] = case_4_6;     tab[4,7] = case_4_7;         tab[5,0] = case_5_0;     tab[5,1] = case_5_1;     tab[5,2] = case_5_2;     tab[5,3] = case_5_3;         tab[5,4] = case_5_4;     tab[5,5] = case_5_5;     tab[5,6] = case_5_6;     tab[5,7] = case_5_7;         tab[6,0] = case_6_0;     tab[6,1] = case_6_1;     tab[6,2] = case_6_2;     tab[6,3] = case_6_3;         tab[6,4] = case_6_4;     tab[6,5] = case_6_5;     tab[6,6] = case_6_6;     tab[6,7] = case_6_7;         tab[7,0] = case_7_0;     tab[7,1] = case_7_1;     tab[7,2] = case_7_2;     tab[7,3] = case_7_3;         tab[7,4] = case_7_4;     tab[7,5] = case_7_5;     tab[7,6] = case_7_6;     tab[7,7] = case_7_7;          for(int i=0 ; i<8 ; i++)             for(int j=0 ; j<8 ; j++) {                 affichage(grille[i,j]);                 tab[i,j]->backcolor = color::transparent;             }     }      void form1::affichage(piece^ p) {         int l = p->propligne;         int c = p->propcol;         tab[l,c]->image = p->propsym;     }      void form1::set(string^ n) {         lbjoueur1->text = n;     }      void form1::set2(string^ n)     {         lbjoueur2->text=n;     }      void form1::deplacer(object^  sender, eventargs^  e) {         point coordonnees = (point)(((picturebox^)sender)->tag) ;         int l = coordonnees.x;     int c = coordonnees.y;         if ((grille[l,c] != nullptr) && (nclick != 1)) {             nclick = 1;   l1=l;   c1=c;             tab[l,c]->backcolor = color::yellow;             pc = grille[l,c];             deplacementautorise(grille[l,c]);         }          else if ((grille[l,c] == nullptr) && (nclick == 1)) {             tab[l,c]->image = pc->propsym;             grille[l,c] = pc;             tab[l1,c1]->image = nullptr;             grille[l1,c1] = nullptr;             nclick = 0;             for(int i=0 ; i<8 ; i++)                 for(int j=0 ; j<8 ; j++)                     tab[i,j]->backcolor = color::transparent;         }          else if ((grille[l,c] != nullptr) && (nclick == 1)) {             for(int i=0 ; i<8 ; i++)                 for(int j=0 ; j<8 ; j++)                     tab[i,j]->backcolor = color::transparent;             tab[l,c]->backcolor = color::yellow;             pc = grille[l,c];             deplacementautorise(grille[l,c]);         }     }      void form1::deplacementautorise(piece^ p) {         int l = p->propligne;     int c = p->propcol;         string^ lab = p->proplabel;          if (lab == "cavalier") {             if ((l+2<=7) && (c+1<=7))                 tab[l+2,c+1]->backcolor = color::cyan;             if ((l+1<=7) && (c+2<=7))                 tab[l+1,c+2]->backcolor = color::cyan;             if ((l+2<=7) && (c-1>=0))                 tab[l+2,c-1]->backcolor = color::cyan;             if ((l+1<=7) && (c-2>=0))                 tab[l+1,c-2]->backcolor = color::cyan;             if ((l-1>=0) && (c+2<=7))                 tab[l-1,c+2]->backcolor = color::cyan;             if ((l-2>=0) && (c+1<=7))                 tab[l-2,c+1]->backcolor = color::cyan;             if ((l-1>=0) && (c-2>=0))                 tab[l-1,c-2]->backcolor = color::cyan;             if ((l-2>=0) && (c-1>=0))                 tab[l-2,c-1]->backcolor = color::cyan;         }          if (lab == "pion") {             if (grille[l+1,c] == nullptr)                 tab[l+1,c]->backcolor = color::cyan;         }          if (lab == "fou");           /*if ((l+1<=7) && (c+1<=7))           if (grille[l+1,c+1] == nullptr) {           while ((l+1<=7) && (c+1<=7)) {           tab[l+1,c+1]->backcolor = color::cyan;           l++; c++;           }}           if ((l+1<=7) && (c-1>=0)) {           while ((l+1<=7) && (c-1>=0)) {           tab[l+1,c-1]->backcolor = color::cyan;           l++; c++;           }}*/         }      void form1::form1_load(object^  sender, eventargs^  e) {         nouvellepartie();     } }   int main(array<system::string ^> ^args) {     // activation des effets visuels de windows xp avant la création de tout contrôle     application::enablevisualstyles();     application::setcompatibletextrenderingdefault(false);      // créer la fenêtre principale et l'exécuter     application::run(gcnew form1());     return 0; } 

that because elements in lines 2,3,4,5 in grille matrix initialized null. solutions:

  • initialize elements in grille matrix, piece (call default constructor piece() instead of assigning nullptr)
  • modify form1::afichage test if p not nullptr.

Comments

Popular posts from this blog

Java 8 + Maven Javadoc plugin: Error fetching URL -

css - SVG using textPath a symbol not rendering in Firefox -

order - Notification for user in user account opencart -