RTV forum PL | NewsGroups PL

Jak poprawnie zainicjalizować strukturę w C++ z pliku main.c w standardzie C99?

Struktury w C++

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak poprawnie zainicjalizować strukturę w C++ z pliku main.c w standardzie C99?

4CX250
Guest

Sat Jan 15, 2011 1:05 am   



Witam.

Nie mogę wyczaić o co tu chodzi:

struct partition = partition_open
(sd_raw_read, sd_raw_read_interval, sd_raw_write,
sd_raw_write_interval, 0);

Za każdym razem kompilator wywala błąd
main.c:104: error: expected identifier or '(' before '=' token

A może to chodzi o to że to pochodzi z pliku main.c dla którego w
Makefile jest c99 a ja mam a Makefile gnu99?
Inna składnia czy co?

Marek

Grzegorz Niemirowski
Guest

Sat Jan 15, 2011 1:17 am   



4CX250 <taunusmtv@poczta.onet.pl> napisał(a):
Quote:
Witam.
Nie mogę wyczaić o co tu chodzi:
struct partition = partition_open
(sd_raw_read, sd_raw_read_interval, sd_raw_write, sd_raw_write_interval,
0);
Za każdym razem kompilator wywala błąd
main.c:104: error: expected identifier or '(' before '=' token
A może to chodzi o to że to pochodzi z pliku main.c dla którego w Makefile
jest c99 a ja mam a Makefile gnu99?
Inna składnia czy co?
Marek

A partition_open nie zwraca wskaźnika?

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 1 day, 13 hours, 50 minutes and 59 seconds

tequila
Guest

Sat Jan 15, 2011 11:48 am   



Quote:
struct partition = partition_open
(sd_raw_read, sd_raw_read_interval, sd_raw_write, sd_raw_write_interval,
0);

Za każdym razem kompilator wywala błąd
main.c:104: error: expected identifier or '(' before '=' token

struct partition nazwa_zmiennej =
lub
struct partition *nazwa zmiennej =

w zależności co potrzebne.


--
tequila

Michoo
Guest

Sat Jan 15, 2011 11:51 am   



W dniu 15.01.2011 01:05, 4CX250 pisze:


to jest C (ewentualnie "C z klasami") a nie C++ ;)

Quote:
Nie mogę wyczaić o co tu chodzi:

struct partition = partition_open
struct mówi kompilatorowi C, że następujący po nim identyfikator typu

będzie odnosił się do zdefiniowanej struktury.

deklaracja w C wygląda tak:
id_typu nazwa [=inicjalizacja];
ty masz tylko id_typu i do tego błędny:

struct partition_struct *partition = partition_open

Quote:
(sd_raw_read, sd_raw_read_interval, sd_raw_write, sd_raw_write_interval,
0);

A może to chodzi o to że to pochodzi z pliku main.c dla którego w
Makefile jest c99 a ja mam a Makefile gnu99?
Inna składnia czy co?
Inna niż używasz - właściwa dla C.


--
Pozdrawiam
Michoo

4CX250
Guest

Sat Jan 15, 2011 12:22 pm   



W rozwiązaniu problemu pomógł mi na privie jeszcze jak w nocy nad tym
siedziałem Grzegorz Niemirowski za co mu serdecznie dziękuję.
Micho to powtórzył i wszystko gra.

Teraz wygląda to tak:
struct partition_struct* partition = partition_open(...


Wielkie dzięki wszystkim za pomoc.
Marek

elektroda NewsGroups Forum Index - Elektronika Polska - Jak poprawnie zainicjalizować strukturę w C++ z pliku main.c w standardzie C99?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map