Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++] Problem z dzieleniem kodu na kilka plików


Rekomendowane odpowiedzi

Opublikowano

Mam mały problem z C++. Chciałem zacząć tworzyć programy z wykorzystaniem wielu plików, ale przy kompilacji wywala mi 3 errory i 1 warning. z tego 2 errory dotyczą plików które są w kompilatorze chodź testowałem to na dwóch kompilatorach.

 

Kod pierwszego pliku:

#include "Lib.h"
#include <iostream>
using namespace std;
int main()
{
cout << Random(1, 2, 1);
return 0;
}

 

Kod drógiego pliku:

int Random(int Start, int End, int Seed)
{
#include <cstdlib>
#include <ctime>
if(!Seed)
 srand(time(0));
else
 srand(Seed);
return (rand() % End) + Start;
}                                                      //Warning

 

Kod nagłówka:

extern int Random(int Start, int End, int Seed);

 

Build messages:

d:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.0\include\c++\cstddef||In function 'int Random(int, int, int)':|
d:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.0\include\c++\cstddef|49|error: 'namespace' definition is not allowed here|
d:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.0\..\..\..\..\include\stdlib.h|60|error: expected unqualified-id before string constant|
D:\Program Files\Work\Test\Random.cpp|10|error: expected '}' at end of input|
D:\Program Files\Work\Test\Random.cpp|10|warning: no return statement in function returning non-void|
||=== Build finished: 3 errors, 1 warnings ===|

 

Dodatkowo dodam części kod plików z kompilatora w których wywala error:

 

cstddef:

_GLIBCXX_BEGIN_NAMESPACE(std) //Error
using ::ptrdiff_t;
using ::size_t;
_GLIBCXX_END_NAMESPACE

 

stdlib.h

 

extern "C" {

Weteran
Opublikowano

Dlaczego wstawiasz includy w ciele funkcji Random?

 

Tak naprawdę w c++ i tak wszystko sprowadza się do jednego pliku.

#include to instrukcja preprocesora, która w chwili przed kompilacją wstawia zawartość podanego pliku.

Opublikowano

Dobra poradziłem sobie z problemem. Wystarczyło te includy dać przed funkcją i wszystko działa :) A poza tym dzięx za pomoc chociaż troche spuźniuoną bo zdążyłem to sam ogarnąć :P

Opublikowano · Ukryte przez 4ggr35510n, 14 Września 2012 - Brak powodu
Ukryte przez 4ggr35510n, 14 Września 2012 - Brak powodu

pisze sie drUgiego !!!!!

 

@sorry za spam . :3

1377774857-U369478.pngeJyzMNIzNtEzMjbTszDisjC0MOQKTUotci5KTCvhcs9PUfBPUwhPLOIydlFwL0osLuYyMjWFYwDCgA6l.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...