Je me demandais si quelqu'un avait une idée sur la façon de résoudre ce problème.Déboguer les fichiers d'en-tête sans lien en C++
Merci beaucoup !!
Avec ce code dans main.cpp:
//
// main.cpp
// Chess
//
// Created by Akshar Ramkumar on 9/29/16.
// Copyright © 2016 Akshar Ramkumar. All rights reserved.
//
#include <iostream>
#include "DataStructures.hpp"
int main() {
struct Piece {
int Type;
int x;
int y;
bool Captured;
bool Color;
char pictfile[7];
};
struct Piece All[32];
setup(All);
return 0;
}
Et ce code dans DataStructures.hpp:
#ifndef DataStructures_hpp
#define DataStructures_hpp
void setup(struct Piece All[32]);
#endif
Et ce code dans DataStructures.cpp:
//
// Classes.cpp
// Chess
//
// Created by Akshar Ramkumar on 10/13/16.
// Copyright © 2016 Akshar Ramkumar. All rights reserved.
//Pawn = 0
//Rook = 1
//Knight = 2
//Bishop = 3
//King = 4
//Queen = 5
struct Piece {
int Type;
int x;
int y;
bool Captured;
bool Color;
char pictfile[7];
};
void setup(struct Piece All[32]){
int TypeArray[32]={0,0,0,0,0,0,0,0,1,1,2,2,3,3,4,5,0,0,0,0,0,0,0,0,1,1,2,2,3,3,4,5};
int xValues[32]={0,1,2,3,4,5,6,7,0,7,1,6,2,5,3,4,0,1,2,3,4,5,6,7,0,7,1,6,2,5,3,4};
int yValues[32]={1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7};
for (int i=0;i<32;i++){
All[i].Type = TypeArray[i];
All[i].y = yValues[i];
All[i].x = xValues[i];
All[i].Color = true;
All[i].Captured = false;
if (i>15){
All[i].Color = false;
}
}
}
I obtenir une erreur disant: Aucune fonction correspondante pour l'appel à "Setup" dans main.cpp. Toutes les idées
struct Piece Tous [32]; vous ne mettez pas la structure/classe/union en faisant l'objet de vos propres types définis par l'utilisateur. Pièce tout [32]; est bien –
Sur quelle ligne du code? –
Vous avez défini deux structures 'Piece'. Vous devriez déplacer sa définition à un endroit, DataStructures.hpp serait le meilleur dans votre cas. Une autre chose est que vous n'avez pas besoin d'utiliser le mot-clé struct comme mentionné précédemment. – woockashek