Niby prosta rzecz, a się wyłożyłem. Compilator Codevision, język C, procesor mało istotny.
Jest sobie struktura, która ma siedzieć we flashu. Chcę tą strukturę zainicjalizować w momencie kompilacji (no bo jak inaczej - przecież ma siedzieć we flash'u) :
Jak widać struktura składa się z dwóch elementów, wskażnika do stringu i wskaźnika do funkcji.
Wydawało mi się, że taki zapis powoduje zapisanie wskaźnika do stringu "text1" w pierwszym elemencie struktury, a zapis wskaźnika do funkcji testip w drugim elemencie struktury. Tak jednak nie jest, gdyż kompilator uparcie daje mi do zrozumienia, że:
"a value of type 'void (*)()' can't be used to initialize an entity of type 'unsigned char *'"
Jak napiszę:
to jest ok, ale przecież nie o to chodzi, bo drugi element ma być wskażnikiem do funkcji, a nie do tekstu (no chyba, że rzeczywiście nim nie jest....).
co jest grane ??
Ratujcie !
Jest sobie struktura, która ma siedzieć we flashu. Chcę tą strukturę zainicjalizować w momencie kompilacji (no bo jak inaczej - przecież ma siedzieć we flash'u) :
Kod: C / C++
Jak widać struktura składa się z dwóch elementów, wskażnika do stringu i wskaźnika do funkcji.
Wydawało mi się, że taki zapis powoduje zapisanie wskaźnika do stringu "text1" w pierwszym elemencie struktury, a zapis wskaźnika do funkcji testip w drugim elemencie struktury. Tak jednak nie jest, gdyż kompilator uparcie daje mi do zrozumienia, że:
"a value of type 'void (*)()' can't be used to initialize an entity of type 'unsigned char *'"
Jak napiszę:
Kod: C / C++
to jest ok, ale przecież nie o to chodzi, bo drugi element ma być wskażnikiem do funkcji, a nie do tekstu (no chyba, że rzeczywiście nim nie jest....).
co jest grane ??
Ratujcie !
