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

Projekt - błąd kompilacji, dziwne rzeczy chyba z include'ami
MI
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 5 lat
  • Postów:243
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?

_13th_Dragon
  • Rejestracja:prawie 20 lat
  • Ostatnio:11 dni
1

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


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
twonek
Z jednej strony podziwiam, ale z drugiej nie podoba mi się, że akceptujemy niedbalstwo ze strony pytających.
_13th_Dragon
@kq, @twonek - mam do was wyzwanie, opiszcie ten błąd tak jak wg was miał to zrobić @Mikilll. To naprawdę paskudny błąd do niepopełnienia wymaga doświadczenia, do naprawienia jeszcze więcej, naprawdę chcę zobaczyć jak wy to opiszecie.
kq
Hej, ja w tym wypadku nie wrzuciłem tego linka, bo czegoś takiego spodziewałem ;) Ale nie chciało mi się też ściągać i przeglądać kodu. Jedyne co można by zmienić to wrzucić projekt na jakiegoś githuba czy coś dla łatwiejszego przeglądania.
twonek
Ja nie mówię, żeby wiedzieć jak naprawić ten błąd. Ja tylko chcę, żeby kod był w postaci tekstowej (a nie zip), komunikaty błędu były wklejone do posta ze wskazaniem kawałka kodu, którego dotyczy. To wszystko OP ma dostępne.
MI
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 5 lat
  • Postów:243
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.

edytowany 1x, ostatnio: Mikilll
kaczus
Jeśli include'y sa napisane poprawnie nie powinno byc problemów z kolejnością...
MI
A czy mógłbyś rozwinąć swoją wypowiedź?
kaczus
Jeśli jakiś include robi fochy przy kompilacji to jest cos nie tak - co tu wymyślać. Kolejność dodawania do pliku nie powinna robić różnicy, jeśli robi, znaczy się jest coś nie tak.
MY
  • Rejestracja:prawie 10 lat
  • Ostatnio:dzień
  • Postów:1083
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:

Kopiuj
#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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.