Страница 2 из 2

Re: Деревья

Добавлено: 03 дек 2008, 10:23
Romeo
Почитай об объявлении и определении имён в С/С++.

road.h

Код: Выделить всё

#ifndef _ROAD_H_ 
#define _ROAD_H_

#include "string.h"
#include "iostream"

using namespace std;

extern int **troad;
extern string *tname;
extern int tempcount;

#endif // _ROAD_H_
road.cpp

Код: Выделить всё

#include "road.h"

int **troad;
string *tname;
int tempcount;

Re: Деревья

Добавлено: 03 дек 2008, 12:46
Romeo
Ещё замечание, makefile можно значительно упростить, если воспользоваться суффиксами.

Re: Деревья

Добавлено: 03 дек 2008, 12:57
Romeo
И ещё добавлю. Директива препроцессора #pragma является компилятор зависимой. Каждый компилятор может по своему интерпретировать параметры этой директивы. По этой же причине все незнакомые параметры компилятор обязан игнорировать, не выдавая никакой ошибки. Параметр once является сугубо microsoft specific и для gcc он не имеет никакого смысла, потому он им игнорируется. Более того, даже для VS он не устранит ошибки мультиопределения, так как имеет совсем другой смысл. Его реальная функция - не позволить включиться данному header файлу дважды в одну и туже единицу трансляции, таким образом #pragma once является полноценной заменой header guard'ов.