2013-03-14 3 views
0

Привет, ребята, я пытаюсь создать файл реализации для модуля. Он имеет файл заголовка, который я создал, и файл .CC. В моем файле .CC у меня первоначально была основная функция, однако, поскольку это назначение для класса, это требует, чтобы в реализации не было основной функции.C++ конструктор, деструктор, ошибка преобразования типа

9 #include <curses.h> 
10 #include <sys/time.h> 
11 #include <time.h> 
12 #include "fmttime.h" 
13 
14 
15 struct ExpandedTime 
16 { 
17 
18  int et_usec; 
19  int et_sec; 
20  int et_min; 
21  int et_hour; 
22 
23 }; 
24 ExpandedTime* localTime(struct timeval* tv, ExpandedTime* etime); 
25 
26 
27 struct timeval tv; 
28 struct ExpandedTime etime; 
29 gettimeofday(&tv, NULL); 
30 localTime(&tv,&etime); 
31 
32 
33 
34 ExpandedTime* localTime(struct timeval* tv, ExpandedTime* etime) 
35 { 
36  tzset();         // Corrects timezone 
37 
38  int epochT = (tv->tv_sec) - timezone;  // Epoch seconds with 
39  int epochUT = tv->tv_usec;     // Timezone correction 
40 
41  int seconds = epochT % 60; 
42  epochT /= 60; 
43  etime->et_sec = seconds; 
44  etime->et_usec = epochUT; 
45 
46  int minutes = epochT % 60; 
47  epochT /= 60; 
48  etime->et_min = minutes; 
49 
50  int hours = (epochT % 24) + daylight;  // Hours with DST correction 

Извините, что последние несколько строк отрезаны, копирование и склеивание Mcedit in the putty отстой. В любом случае строки 29 и 30 дают мне ошибку преобразования конструктора, деструктора или типа, и я не могу понять, почему. Когда у меня была основная функция, охватывающая эти заявления, все было в порядке и dandy ... но когда я удалил Main ..., он просто сломался. Любая помощь будет очень благодарна вам.

+0

И что именно означало «просто сломалось»? – Sinkingpoint

+0

«gettimeofday» и «localTime» отображаются не в той области. –

ответ

1
27 struct timeval tv; 
28 struct ExpandedTime etime; 
29 gettimeofday(&tv, NULL); 
30 localTime(&tv,&etime); 

Этот код не находится внутри какой-либо функции. Он сидит голым голым в глобальной пустыне. Он должен быть показан назад, обратно внутри функции, любой функции. Там есть волки.

+0

Я вижу ... heehe wolves. Но операторы struct хороши. Предположим, что причина такая же, как глобальная переменная, но почему я не могу вызывать функции, не будучи внутри функции в первую очередь? (если это имеет смысл) – PresidentRFresh

+1

@PresidentRFresh Поскольку выполнение начинается с main(), везде, где main() is и main() вызывает только другие функции. Невозможно «вызвать» этот код ... Или, сказал другой путь: просто потому, что. Потому что я так сказал. Код входит в функции. –

+0

* исправлена ​​ошибка nvm * Спасибо, Джон! – PresidentRFresh

Смежные вопросы