Просто интересно, есть ли у кого-нибудь идея о том, как решить эту проблему.Отладка не связанных файлов заголовков в C++
Большое спасибо!
С помощью этого кода в 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;
}
И этот код в DataStructures.hpp:
#ifndef DataStructures_hpp
#define DataStructures_hpp
void setup(struct Piece All[32]);
#endif
И этот код в 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 получите сообщение об ошибке: Нет соответствующей функции для вызова «Setup» в main.cpp. Любые идеи
структура Кусок Все [32]; вы не ставите struct/class/union при создании объекта ваших собственных пользовательских типов. Piece All [32]; is fine –
На какой строке кода? –
Вы определили две структуры 'Piece'. Вы должны перенести его определение на одно место, DataStructures.hpp будет лучшим в вашем случае. Другое дело, что вам не нужно использовать ключевое слово struct, как упоминалось ранее. – woockashek