Projekt - błąd kompilacji, dziwne rzeczy chyba z include'ami

0

Mam tu projekt z dużą ilością klas. Nic on mądrego nie robi, za to ma dużo bardzo dziwnych błędów, które związane są chyba z include'ami, ale nie jestem pewien.

Na samej górze błędów pojawia się błąd: missing ; before *

Czy ktoś przystępnie wytłumaczył by o co chodzi?

1

Z CompareProcessIO.h oraz z Device.h zabierz #include "Process.h" oraz przenieś go do CompareProcessIO.cpp oraz do Device.cpp odpowiednio.

0

Dzięki @13thDragon. A dlaczego akurat wyskoczył taki dziwny błąd jak napisałem? Bo chciałbym zrozumieć czemu akurat takie błędy zostały wyrzucone.

Druga sprawa. Czy jest jakiś dobry poradnik w sieci gdzie jest szczegółowo opisane jak się tworzy projekty z wieloma plikami h i cpp. Znalazłem to http://cpp0x.pl/kursy/Kurs-C++/Dzielenie-kodu-na-kilka-plikow-zrodlowych/310, ale jest to zbyt podstawowa wiedza. Ja bym chciał znać wszystkie szczególiki, bo zauważyłem, że przy tworzeniu projektów to nawet kolejność includów ma znaczenie.

0
Mikilll napisał(a):

Ja bym chciał znać wszystkie szczególiki
Jak zrobisz parę razy taki podział poprawnie to nie będziesz miał potem z tym problemów. Generalnie ja stosuję zasadę, że ważne jest aby sam unit (cpp + h) kompilował się bez błędów. Czyli nie polegamy na kolejności kompilacji. To znaczy, że wcześniej (w innym unicie) dołączaliśmy jakiś standardowy nagłówek i tylko w jednym dołączam. Jak wykorzystuję np. funkcję printf w 10 unitach to w każdym z nich dołączam <stdio.h>
Ważne też aby definiować dla każdego nagłówka strażnik postaci:

#ifndef NAZWAPLIKU_H
#define NAZWAPLIKU_H
/*
  tutaj jakieś deklaracje
*/
#endif

ewentualnie użycie #pragma once
Jak masz dużo plików to warto czasem wprowadzić przestrzenie nazw aby nie było jakichś konfliktów.

Mikilll napisał(a):

bo zauważyłem, że przy tworzeniu projektów to nawet kolejność includów ma znaczenie.
Szczerze to nigdy nie miałem takiego problemu. Sprawdź czy każdy unit kompiluje się oddzielnie. Jeśli nie to brakuje nagłówków. Jeśli kompiluje się oddzielnie, a pomimo to przy kompilacji całego projektu są błędy to być może masz jakiś konflikt nazw. Ale tu już trzeba by wiedzieć jakie to są błędy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1