Мне нужно вызвать функцию в файле Dist.c в переключении с файлов DB.c и ListOfCity.c, но VS 2010 дает мне ошибку:
ошибка C2143: синтаксическая ошибка: отсутствует ';' перед «типом». (в строке под каждым случаем)
Когда я скомпилирую проект как C++ (вместо C, но мне нужен C не C++), я могу запустить скомпилированный exe-файл, но когда я ввожу номер 1 или 2, он показывает только «Нажмите любую ключ для продолжения ». и не запускать функцию. Заранее спасибо!Вызов функции из другого файла
файл dist.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <crtdbg.h>
#include "db.h"
#define _CRTDBG_MAP_ALLOC
int main(int argc, char** argv) {
int choice;
do {
printf("[1] Index of city\n[2] Add city to end some next\Your choice: ");
scanf("%d", &choice);
switch(choice){
case 1:
void PrintCity();
system("pause");
break;
case 2:
AddOnEnd();
system("pause");
break;
.....
default:
printf("Another numer.\n");
system("pause");
break;
break;
}
} while (volba != 0);
файл DB.h
#include "ListOfCity.h"
typedef struct Database {
int numberOfCity;
tListOfCity* list;
double **distances;
} tDatabase;
tDatabase *LoadDatabase(char* file);
void DeleteDatabase(tDatabase* db);
int GiveIndexCity(tDatabase* db, char* city);
double GiveDistanceBetweenCities(tDatabase* db ,char* city1, char* city2);
double CountDistance(tDatabase* db, tListOfCity* list);
void PrintDistance(tDatabaze* db, tListOfCity* list);
файл ListOfCity.h
#define LENGTH 60
typedef struct ListOfCity {
char city[LENGTH];
struct ListOfCity* next;
} tListOfCity;
tListOfCity* CreateCity(char* city);
tListOfCity *AddOnEnd(tListOfCity* list, tListOfCity* new);
void PrintCity(tListOfCity* list);
Можете ли вы показать нам, какая строка дает вам ошибку компиляции? – JaredPar
Вы имели в виду сказать "PrintCity();" вместо "void PrintCity();"? –
@JaredPar в файле Dist.C, строка с void PrintCity(); и AddOnEnd(); – user3161483