i przyjmujacej jako argumenty referencje do typu double i wskaznik do typu int. Problem polega na tym, że treść zadania jest bez polskich znaków. Jeśli tam jest "referencj ę " to przy int*& nie ma być &, jeśli nie - czyli chodzi o liczbę mnogą (oba argumenty) to masz dobrze. Myślę, że jednak chodzi o pierwszy przypadek, bo w drugim by brzmiało "i przyjmujacej...
Chyba nawet takie wywołanie powinno zadziałać: [syntax=c]function_pointer = function_pointer(function_pointer);[/syn...
void (*funkcje) Prawie dobrze. Mozna to rozwiazac w taki sposob, jak zaproponowal krzychoocpp (definicja typu daje pewna swobode). Ew. mozna to zrobic w ten sposob: #include <iostream> //rozmiar tablicy funkcji #define NOF 3 using namespace std; void f0() { cout << "f0" << endl; } void f1() {...
powinno być: [syntax=c] void (*f_start)(uint8_t parametr); [/syntax]
Źle wołasz swoje funkcje. Tutaj przypisujesz do zmiennej typu uint8_t wskaźnik na funkcję TWI_read_data_ack zwracającą wartość uint8_t: [syntax=cpp]*buffer = (TWI_read_data_ack);[/syntax] Tutaj jest jak być powinno, a więc wywołujesz funkcję i przypisujesz wartość przez nią zwróconą do swojej zmiennej. [syntax=cpp]*buffer = TWI_read_data_ack();[/syntax]
Witam; jestem początkującym, więc proszę nie śmiejcie się z pytania. Ale ledwo co w miarę dobrze zrozumiałem pojęcie wskaźników i zaczełem je używać a teraz chciałbym zrozumieć wskaźniki na funkcję. Tyle tylko, że kompletnie nie mogę zrozumieć ich sensu, do czego służą, kiedy się przydają. Czy mógłby któryś kolega podać mi jakiś uproszczony przykład...
Zamieść kod z którym masz problem. Błąd wskazuje, że czegoś nie dołączasz lub źle definiujesz.
Może coś takiego będzie działać, sprawdziłem tylko, że się kompiluje: // definicja tablicy wskaźników do funkcji void (*f_Function_table[])... PROGMEM = { f_1, ... f_5 } //----------- // wywołanie void (*f)(); // pośredni wskaźnik na funkcję f = (void*)(pgm_read_word(&&...
Można np. : void fun(parametry formalne) { //ciało funkcji } uint8_t get_kbd( uint8_t key, void (*funkcja)(parametry formalne), parametry aktualne ) { .... funkcja(parametry aktualne); } ... get_kbd(5, fun, parametry aktualne); Zastanów się z jakimi wartościami wywoła się get_kabd(5,...
A niby skąd mają wziąć swą wartość?
Pierwszy zapis o który pytasz, to tablica wskaźników na funkcję, która to funkcja nie zwraca wartości i nie przyjmuje wartości. Zapis const oznacza, że tablicy nie będziemy modyfikować. Zapis, moim zdaniem bardziej czytelny, który sam stosuję w takim przypadku (z głowy): typedef void (*pVector_t)(void); __attribute__ ((used,...
Coś zwrócić :D W tym przypadku nic nie trzeba zwracać bo pracuje się na na orygnialnych danych.
No przecież napisałem, że się nie da. Wskaźnik nie przechowuje żadnej innej informacji poza adresem (początku) zmiennej. W związku z tym, jeżeli funkcja potrzebuje rozmiaru, to trzeba go przekazać jako dodatkowy argument. Kolejny raz już nie będę tego powtarzał. Oczywiście, można sobie wszystko opakować w pseudoobiekty w stylu typedef struct {...
Nie używasz tych zmiennych więc po co Ci one ? :) char *wrownanie = &rownanie; char *wstos = &stos; char *wwynik = &wynik; Pozatym to jest błędne bo nazwa tablicy jest jej adresem,więc char *wstos = stos. int *wwp = ℘ int *wsp = &sp; brakuje wskaźników,jeśli używasz adresu. Funkcja pop to że nie posiada argumentów to nie znaczy,że można ją wywoływać...
Czy możecie mi wyjaśnić gdzie mam dopisać PROGMEM czy coś w tym rodzaju? Powinno wystarczyć przy deklaracji konkretnej zmiennej, a jak nie to wszędzie gdzie popadnie Polecenie: pStateFunc = pgm_read_byte(&menu_state[i]... nie działa. Jak to się robi prawidłowo? Wskaźnik do funkcji na pewno jest dłuższy niż 1 bajt, zapewne 2, ale...
[syntax=cpp] #include <iostream> void Foo1(void) { } int main (void) { typedef void (*pFoo)(); pFoo* tFoo = new pFoo[3]; //wiem, że musi się tu znaleźć określenie typu, ale jak ono będzie wyglądało dla wskaźnika na funkcję? tFoo[0] = Foo1; //tFoo[1] = Foo2; //tFoo[2] = Foo3; delete [] tFoo; return 0; } [/syntax]
Jednym słowem - callback. type TCallback = function(dane : TRekordDanych; x : cośtam) : Integer czy cokolwiek; PCallback = ^TCallback; function RobCosIWywoluj(proc : PCallback; par1, par2 : parametry) : Integer; begin ... proc^(dane, par1); ... end; Chyba da się też obejść bez typu PCallback, stosując...
Przecież w tej funkcji nie zwracasz wartości przez wskaźnik .... zwracasz typ double. A to nie wskaźnik.... Pewnie chodzi ci o to czy modyfikacja struktury przekazanej przez wskaźnik jako argument funkcji jest poprawna ? - pewnie że poprawna. Ale to tylko modyfikacja argumentu (obojętnie czy typu wskaźnikowego czy nie) .....
A czy w klasie bisekcja nie powinieneś przypadkiem zrobić konstruktora klasy, który będzie przyjmował argumenty w twoim wypadky "funkcja" oraz double x, a następnie wykona obliczenia i zwróci wynik przy pomocy choćby cout ? Następna sprawa jest taka, co właściwie chcesz policzyć ? Algorytmy bisekcji znajdziesz wszędzie tu masz pierwszy z brzegu: [syntax=cpp]#include...
type TCallback = function(x : Double) : Double; function f(a : Integer; temp : Double; funkcja : TCallback) : Integer;
Ależ są poprawnie ładowane. W AVR pamięć programu jest adresowana w słowach, a nie w bajtach.
Zaremuj ifa //if (*kwota>=tab[i])
Dynamiczną liczbę wyników to w sumie tylko i wyłącznie przez struktury/klasy typu wektor bądź lista. Albo jako argument przekazać referencję na wskaźnik, funkcja pod danym wskaźnikiem tworzy tablicę o odpowiednim rozmiarze, wypełnia ją wynikami a liczbę wyników zwraca przez return.
Nie musisz wywoływać ponownie, ponieważ w pętli sprawdzasz ten sam bufor pamięci, który jest wypełniany podczas przerwania. Ważne jest, aby bufor zadeklarowany był z modyfikatorem volatile, np. volatile uint8_t bufor[50];
1. To C++ a nie C. 2. Przekazujesz wskaźnik przez wartość, funkcja dodaj zmodyfikuje tylko jego kopię na swoim stosie - nie zmodyfikuje wskaźnika w funkcji wywołującej. 3. Skoro to C++ to najszybciej będzie przekazać wskaźnik przez referencję, wystarczy: void dodaj(struct ksiazka *&pierwszy)
Kompilator taki napis powinien umieścić tam gdzie inne stałe, czyli w teorii w pamięci flash. Gdyby to był ARM, to tak by się stało, jednak skoro jest to AVR to... jest problem, bo GCC (tak jak i sam język C) został zaprojektowany na architekturę von Neumana (jednorodna przestrzeń adresowa), a tymczasem AVR jest układem w architekturze Harwardzkiej....
Nie masz pojęcia co ty piszesz, masz kopię wskaźnika jako argument funkcji. Nie możesz w ten sposób przypisywać elementu bo zwyczajnie działasz na kopii a nie na wskaźniku który przekazujesz do funkcji (do tego służy wspomniana wcześniej referencja). Jedyna opcja by ten kod działał to zrobić element nadmiarowy, oraz przekazać go do tej funkcji np tak:...
czy mógłby mi ktoś wytłumaczyć czym jest pierwszy argument - nie wiem jak działa takie połączenie wskaźnika i referencji ? Nie rozumiem dlaczego jest tam & a nie sam wskaźnik do obiektu typu Lista ? Dziwny zapis, ale zakładając że to działa, to wygląda na to że taki zapis jest jakby referencja do wskaźnika. Niby mógłby być tylko wskaźnik, ALE w przypadku...
Korzystasz ze wskaźników na funkcje?
Czyli zawsze wskaźnik musi wskazywać na adres. A czym się różni zapis: Witam Wskaźnik z definicji przechowuje adres, zmiennej, stałej, innego wskaźnika, funkcji itd. [syntax=c]*p1=&a[/syntax] Jeśli p1 jest wskaźnikiem jak w poście powyżej jest błędnym zapisem. Zmiennej na którą skazuje wskaźnik próbujesz przypiąć adres zmiennej a. [syntax=c]p1=&a[/syntax][/quote]...
Zauważ że instrukcja [syntax=c]char * A = malloc(5);[/syntax] powoduje zalokowanie pamięci. Następnie: [syntax=c]A = "Test";[/syntax] Powoduje zgubienie wskaźnika do wcześniej zaalokowanej pamięci i ustawienie A na stałą "Test". W kolejnych instrukcjach przekazujesz wskaźnik na stałą do funkcji która ma coś pod ten wskaźnik skopiować. Dodatkowym błędem...
Wszystkie zmienne automatyczne w funkcjach są niszczone po wyjściu z funkcji. Jeśli chcesz, żeby funkcja tworzyła strukturę i ją jakoś zwróciła, to w C zazwyczaj robi się to brzydko: - strukturę deklaruje (lub alokuje) się na zewnątrz funkcji, a do funkcji podaje wskaźnik do niej, żeby funkcja tę strukturę zainicjalizowała; - na zewnątrz funkcji deklaruje...
Podaj typ "prog_char". Jeśli typ ten = int - podajesz il bezpośrednio. (bez *) [syntax=c]#include <stdio.h> void func(int *text); int main() { int ilosc = 10; int *il = &ilosc; func(il); return 0; } void func(int *text) { printf("Il rowna sie %d", *text); //wyłuskanie wartości } [/syntax]
Wektor przechowuje wskaźniki, a funkcja porownaj(Zwierz&, Zwierz&) przyjmuje referencje.
W nawiązaniu do porad kolegi tmf proponowałbym coś w tym stylu (być może strach przed kwalifikatorem __flash wynika z braku przykładów kodu :?: : [syntax=c] // przykład jak używać kwalifikatora __flash do umieszczania // danych w pamięci programu i jak się do nich odwoływać // kod gotowy do odpalenia w symulatorze Atmel Studio 6 // można zaobserwować...
Nie doczytałeś. Jeżeli przekażesz wskaźnik do funkcji, to poza funkcją jego wartość nie ulegnie zmianie. Jeżeli chcesz zmienić wartość wskaźnika to musisz przekazać wskaźnik na ten wskaźnik...
Nazwa tablicy jest wskaźnikiem do jej pierwszego elementu, więc zamiast pisać ptr_tab = &tab[0] ja bym użył po prostu ptr_tab = tab. Poza tym rzeczywiście dziwne, że chce się skompilować zainicjalizowanie pustej tablicy czymkolwiek... Chyba, że ono jest w takim miejscu programu, w którym i tak nie działa...?
No to co to znaczy u ciebie że: "normalnie dostaję ostrzeżenia" ??? ;) a nienormalnie to jak ??? ;) źle myślisz o tyle że nie doczytałeś o pewnych modyfikacjach w AVR GCC i stąd twoje problemy i problemiki i jak widzę Warningi a wystarczy doczytać że domyślnie przy kompilacji w avr gcc typu char jest zamieniany do unsigned char. Więc po to aby było...
Zależy jakiej wersji kompilatora używasz. Poszukaj makra GET_FAR_ADDR Petera Fleury, jego definicja jest także w przykładach do mojej książki. Makro to zwraca 24-bitowy adres, który możesz użyć w tym przypadku przypisując go do 32-bitowej zmiennej, która będzie efektywnie wskaźnikiem.
Ta funkcja zwraca wartość ukrytą pod adresem który jest jej argumentem. Proste. Ponieważ w twoim przypadku, pod tym adresem kryje się wskaźnik, funkcja zwraca jego wartość czyli adres tego co ten wskaźnik wskazuje. O to chodzi w twoim kodzie bo rzutujesz to na inny wskaźnik potem. Wskaźnik na wskaźnik (**) to najfajniejsza rzecz w C (za wyjątkiem wskaźnika...
Bzdura, czy przekażesz do funkcji tabela, czy &tabela wyjdzie na to samo - poczytaj o tym jak są przekazywane tabele jako argumenty funkcji w C. A problem leży w tym o czym już pisałem - globalny wskaźnik nie może wskazywać na dane lokalne, które nie są zaalokowane dynamicznie lub ich czas życia nie jest nieskończony jak w przypadku static. Zastanów...
Error[Pe167]: argument of type "FIL volatile *" is incompatible with parameter of type "FIL *" Obawiam się że to wina kompilatora, bo przykład jest zaczerpnięty z ksiązki w której autor używał kompilatora Eclipse. Czy jest na to jakis sposób? :/ Jasne, od razu wina kompilatora. Kompilator poprawnie się zachowuje. Jeśli...
Poszukaj w Windows API, http://cpp0x.pl/kursy/Kurs-WinAPI-C++/Za... to też może być przydatne. Z poziomu WinApi to wygląda mniej więcej tak, że na podstawie gotowych funkcji WinApi pobierasz adres (wskaźnik) szukanej funkcji i potem się tym wskaźnikiem posługujesz.
ale przekazujac do funkcji wskaźnik do struktury możesz przecież ją w niej modyfikować.
nazwa tablicy jest wskaźnikiem na jej pierwszy element. funkcje zadeklaruj jako ...(unsigned char* sec) i wywołuj ...(SectorG1). W funkcji odwołuj się normalnie - jak do zwykłej tablicy (sec[i]=...) 4\/3!!
ponieważ operujesz wskaźnikiem na strukturę musisz wskaźnik wyłuskać (komunikat błędu linia 16) i dopiero możesz się odwoływać. Masz dwie opcje: 1/ (*Bufor1).rozmiar=0; 2/ Bufor1->rozmiar=0; Przy stosowaniu operatora u8 i = 2; char* ch = "test"; char ch2 = i[ch]; // kompiluje się i jest równoważne ch[i] Jednocześnie oznacza...
Dlaczego używam strtok_r() bo w tym konkretnym przypadku potrzebuję wskaźnika na pozostałą część łańcucha do analizy czyli tą moją *reszta , ponieważ przekazuję go jako argument do całkiem innej funkcji do dalszej obróbki (parsowania) , zatem chociażby z tego powodu strtok_r() przydaje się nie tylko w wątkach w dosłownym znaczeniu. mam np: kilka wywołań...
Podpowiedź: Wywołaj program właściwy wykorzystując wskaźnik na funkcję (wskazuj wskaźnikiem adres kodu właściwego) zamiast modyfikować PC. Zwróć uwagę na to co jest umieszczone w pierwszych 4 bajtach programu właściwego. Pamiętaj o przeładowaniu wskaźnika stosu.
No tak, wskaźnik do funkcji inline... pomyśl chwilę nad tą zagadką :) Ale powodem twoich problemów zapewne jest fusebit kompatybilności z ATMega103 - skasuj go i twe kłopoty znikną.
Ostatnia linijka jest błędna:[syntax=c]return temp;[/syntax]Nie można zwracać wskaźnika do funkcji temp() w funkcji temp() - oczekiwania wartość powinna być typu int.
allocsize to ZAWSZE 10000 (rozmiar tablicy). allocbuf jest wskaźnikiem na pierwszy element talicy (adresem pierwszego elementu), allocp jest adresem pierwszego WOLNEGo elementu. Jedyną rzeczą jaka się zmienia jest właśnie allocp - po wstawieniu idzie w prawo, po usunięciu elementu w lewo. A co do tego allocbuf + allocsize: allocbuf - wskazanie na pierwszy...
IMHO nie powinno być z tym problemu. MINGW (devcpp) wykonuje nawet funkcję na wskaźniku nie adresującym żadnego obiektu (może to mieć sens, gdy funkcja nie korzysta ze zmiennych składowych danej klasy). Pierwsze, co mi się nasuwa - czy funkcja, którą wywołujesz jest public. Napisałem taki kod ćwiczebny: #include <stdlib.h> #include <iostream>...
Witam, Próbuje usunąć kilka warningów wyrzucanych przez kompilator, tyczących się przypisywania i inicjalizacji niewłaściwych typów ( brak rzutowania ). Nie jestem jednak pewien czy dobrze wykonuje rzutowanie. Mógłby ktoś rzucić okiem? 1. Przypisanie do wskaźnika na funkcję innego typu wskaźnik na funkcję: typy wskaźników: - void (*callback)(uint8_t,uint16_t)...
Nie zrozumialem dokladnie o co ci chodzi, moze daj kod zrodlowy tego co napisales z tym bledem. Poniej zamieszam kod przedstawiajacy wskaznik do struktury. #include <cstdio> struct jakas_struktura { int jakis_int; char jakis_char; char jakas_tablica[8]; }; jakas_struktura jakas_funkcja(void) { jakas_struktura Stest;...
http://www.datasheet4u.com/html/T/A/7/TA... Tutaj możesz pobrać datasheet obu tych scalaków. Na podstawie aplikacji powinieneś dojść co i gdzie podłączyć. Pozdr Adam
(at)bartosz.tarnowski Na pierwszy rzut oka przekazujesz niezainicjalizowany wskaźnik do funkcji f_opendir . Prawdopodobnie przekazujesz również niezainicjalizowany wskaźnik do f_mount .
...W mainie ładuję go wartością, póki co "ręcznie" odczytaną z mapfile i próbuję wywołać funkcję: Jeśli z jakiegoś powodu, wolisz "ręcznie" wpisywać adres funkcji, to nie zapominaj, że masz do czynienia z AVR-em :D [syntax=c]generalPurposeCallback=(pFunct... generalPurposeCallback();[/syntax]
rozumiem że chcąc umieścić coś na stosie muszę wywołać zmienną z danego tasku oraz przekazywać wskaźnik do tych danych do funkcji ? (nie przekazując wskaźnika kompilator nie powiązuje danych i funkcja putpixel wyrzuca błąd) Tak właśnie powinieneś zrobić i tak będzie najlepiej - to właśnie będzie obiektowe podejście. 4\/3!!
Bo nadal zwracasz wskaźnik na lokalną tablicę "oout". Masz też wyciek pamięci spowodowany tym, że po wyjściu z funkcji tracisz wskaźnik na zaalokowaną pamięć "out".
Optymalizacji na ifach, switchach itd robić ręcznie nie trzeba bo zrobi to za ciebie kompilator. gcc >4.4 jest sprytne i takie ify może zamienić na lookup tables, drzewa binarne itd. Także zabawa w ręczne optymalizacje może okazać się stratą czasu. To jak te ify będą optymalizowane można określić także opcjami kompilacji. Ale wracając do sedna problemu...
Wprzypadku sortowania [i]in situ[/b] nie zwraca się nic, gdyż wymagałoby to stworzenia kopii tablicy. Przekazujesz wskaźnik, więc funkcja pracuje na tym samym obszarze pamięci.
Witam, zająłem się ostatnio wskaźnikami i chyba sporą ich część już ogarnąłem co do zasady ich działania. Teraz doszedłem do momentu kiedy zacząłem zadawać sobie pytanie czy jest coś takiego jak przekazanie jako argumentu funkcji wskaźnika ale w sytuacji kiedy używam wskaźnika do tej funkcji. I przy tej okazji drugie pytanie, jakie są zalety stosowania...
Jedną z zasadniczych różnic pomiędzy C a C++ jest taka, że w C++ używa się referencji zamiast wskaźników, a wskaźników tylko tam, gdzie jest to niezbędnie konieczne. W kontekście tego wątku bym bardziej myślał o smart pointerze (nie do końca tu ulepszy kod, choć trochę), albo "szkolnej" klasie Tablica zawierającej i wskaźnik, i długość, i co konieczne...
... Widzę że ARM umieszcza to na stosie, ciekawe co będzie jak będę miał 100 funkcji. Da się w tej sytuacji umieścić to int (*pxFun)(int*, int*, int*)=(void *)0x101584; na stałe we flashu? ... Da się w C "powiedzieć" kompilatorowi żeby umieścił funkcję pod określonym adresem? pxFun to normalna zmienna. Tak więc sposób jej umieszczenia zależy od sposobu...
Mieszasz 100 niepotrzebnych rzeczy. Masz podobno chodzący debuger. Więc: 1. jaka jest wartość SPI_DMATransmitReceiveCplt przed przypisaniem 2. jaka jest wartość hspi->hdmarx->XferCpltCallback po przypisaniu. Jeśli są różne to jakie i jakie instrukce wykonał program? I tyle. Niezależnie od rdzenia, architektury, cache, HAL'a itd. Albert
Sądzę, że problem jest między krzesłem a klawiaturą, to tak skołowane na szybko.
To zamiast nazw funkcji umieść w pliku ich adresy w pamięci FLASH MCU. Tego typu plik możesz stworzyć automatycznie wyciągając ofsety z pliku elf lub map. Mając adres tworzysz wskaźnik na funkcję i przy jego pomocy ją wywołujesz.
unsigned char * buf_o = &(Pointer->Buffer_O[0]... WriteFile( hCom, &(Pointer->Buffer_O[0]... ... ); Zmieniłbym nazwę pola Thread na CmdStopThread albo coś podobnego.
Wszystkie ciągi tekstowe kończą się znakiem o kodzie 0. Dlatego if(*t) jest spełniony, gdy NIE natrafi na kod końca ciągu. Wówczas rekurencyjnie wywoływana jest ta sama funkcja ze wskaźnikiem przesuniętym o 1 w prawo (++t - preinkrementacja, czyli zwiększenie wartości i przekazanie do argumentu funkcji). Zwiększenie wskaźnika w tym przypadku oznacza...
To co robisz jest absolutnie błędne. Nie wolno zwracać wskaźnika do zmiennych lokalnych - po wyjściu z twojej funkcji wskaźnik ten nie wskazuje na żaden poprawnie zaalokowany obszar pamięci. To co wcześniej zajmował twoj string będzie od razu nadpisane przez kolejne funkcje - wszystko przecież znajduje się na stosie. Jeśli chcesz zwracać wskaźnik na...
1.Tak to jest to samo. 2. Event to jest tak jak wskaźnik na funkcje w c++, gdzie podajesz referencje do obiektu dla którego zostało to wywołane, oraz obiekt dziedziczący po EventArgs (dzięki możesz posłać swoje custom argumenty)
Sonda logiczna.
Szybki wstęp to takiego menu: Oznaczamy na potrzeby programu każdą pozycję w menu: enum{ 0, menu1, menu2, menu3, menu11, menu12, ...}; tworzymy tablicę przejść menu unsigned char menu_stage [32][4] PROGMEM = { // next prev up down {0,0,0,0}; {}; {}; {}; {}; } nieistotne...
Użyj zdarzenia (event). Pomyśl o obiekcie delegatu jako o wskaźniku na funkcję. Jak coś przypisujesz, to nadpisujesz to, co było wcześniej. Polecam też poznać standardowe / wbudowane typy delegatów (zwróć uwagę na ich generyczność): Action, Func, EventHandler.
Np tak [syntax=c]typedef int int3[3]; int3 *funkcja(int3 *wsk) { for(int i = 0; i < 3; i++) (*wsk)[i] ++; return wsk; } int3 x = {1,2,3}; int main(void) { int3 *y = funkcja(&x);[/syntax]
fwrite jako pierwszy argument przyjmuje wskaźnik, a Ty dajesz adres wskaźnika (nadmiarowy ampersand).
Możesz jeszcze zastosować haszowanie do 8 lub 16 bitów, wtedy jedna komenda zajmie odpowiednio 3 lub 4 bajty (hasz + wskaźnik na funkcję). Dobierasz takie haszowanie, żeby dla zestawu Twoich komend nie było kolizji. Pozdrawiam, Dr.Vee
Można też zrobić sobie ładną strukturę do przechowywania danych o przycisku, a potem z tych struktur utworzyć tablicę i dodatkowo tablice wskaźników na funkcje dla każdej akcji każdego przycisku i mamy wszystko rozwiązane w eleganckiej i szybkiej pętli w przerwaniu.
(at)Kroovka wydaje mi się że zanim zaczniesz kogoś pouczać należy samemu poznać odpowiedź a nie zmyślać na bieżąco. http://pl.wikibooks.org/wiki/C++/Zarz%C4...
Zamień w main() [syntax=c]register_udp_event_callback(ud... [syntax=c]register_udp_event_callback(&u... Musisz przekazać wskaźnik do funkcji , a nie samą funkcję! Z tego co widzę, reszta powinna "pójść".
Przy czasach na poziomie sekund, minut to nie jest to żaden problem. Jeden timer ustawić na stałe przerwanie np co 100ms, w przerwaniu od tego timera przeglądać jakąś tablicę, w której każdy jeden element odpowiada jednemu programowemu licznikowi. Zmniejszać liczniki w elementach w tej tablicy, po czym po wyzerowaniu się wywołać jakąś funkcję. W moich...
Nie rozumiem tego mechanizmu dlaczego liczby są przypisywane własnie w ten sposób System U2, np.:http://www.algorytm.edu.pl/systemy-l...
W heterodynie ma być metalowy rdzeń (mosiężny) Pisałem nie o wskaźniku a o led "stereo" i funkcji wyciszania. Pozostałe wskaźniki zostaw bo skoro głowica jest źle przestrojona to nie ma co liczyć na to by poziom sygnału był duży.
Siemka, do projektu potrzebuję zrobić klasę w której funkcje można podmieniać w trakcie działania programu. Mam taki kod: Proszę pamiętać o używaniu znaczników syntax . Opcja Listing kodu . - arnoldziq
VC6 to strasznie muzealny zabytek - co cię przy nim trzyma? WINAPI to też nie jest coś w czym wygodnie się cokolwiek piszę, zaprzyjaźnij się np. z Qt. Znalazlem, ze musze skorzystac z funkcji i utworzyc nowy watek, uzyc "czekajacych" funkcji. Tak, w twojej funkcji CADlg::OnOK tworzysz wątek i uruchamiasz wątek (który będzie pobierać twoje dane), a sama...
Pętli się dalej. Przerwanie jak sama nazwa zskazuje przerywa wykonywany kod, realizowany jest kod przerwania, po czym powrót następuje w dokładnie w to samo miejsce - czyli do pętli. Natomiast to co chccesz zrobić wcale nie wymaga przerwań, a nawet zrobienie tego na przerwaniach byłoby niepotrzebnym kłopotem. Poczytaj o wskaźnikach, w tym wskaźnikach...
Jeśli masz wszystkie funkcje tego samego typu, to możesz zrobić tablicę wskaźników na funkcje, a potem się do odpowiedniego elementu odwoływać. Jeśli funkcje są różnych typów (mają różna ilość argumentów itp), możesz do każdej z nich dorobić małą klasę z operatorem (), a w tym operatorze wywoływać odpowiednią funkcję (zamotane, ale da się) Ostatecznie...
Mam problem z programem. Napisałam go przy użyciu dużej ilości wskaźników do struktury jako argumentów funkcji. Wszystko działa pięknie. Podczas pisania programu stwierdziłam że czemu by nie napisać tego podając do funkcji strukture a nie wskaźnik do niej. Zaczynając zmieniać wszystko, program przestał działać. Jeśli przekazujesz cała strukturę do...
W Twojej funkcji (2 wersja) "ret" jest generalnie zmienną lokalną (jest KOPIĄ wskaźnika przekazanego przy wywołaniu), po zakończeniu funkcji po prostu przepada. Dopiero to na co ret ewentualnie wskazuje może być z jakiegoś innego kontekstu. 4\/3!!
Może potrzebujesz użyć wskaźników na funkcje? W C każda funkcja ma swój adres. Można te adresy wrzucić do tablicy i wywoływać funkcję bezpośrednia z takiej tablicy. Temat wskaźników funkcji, typów wskaźników funkcji jest opisany w tysiącach poradników, nie ma sensu robić tu wykładu. Po prostu poszukaj "wskaźniki funkcji C".
Witam, przy zwracaniu adresu tablicy wskaźników wyskakuje mi błąd: return cannot convert from "object**" to "object". Mógłby mi ktoś powiedzieć jak mam poprawnie zwracać adres do tablicy utworzonej w funkcji losowanie? Kod zamieszczam poniżej. [syntax=cpp] struct object{ int liczba; char znak; double liczbad; }; object losowanie(int N) { object** tab...
Witam, W tym miejscu pobierasz wartość tej zmiennej. To wiem i tego używam w innej części programu. Problem dotyczy czegoś innego. Ja chce przekazać adres tej zmiennej w pamięci programu do funkcji. Dopiero w funkcji jest pobierana jej wartość i porównywana. Moja funkcja docelowa jest bardziej rozbudowana, dla zrozumienia uprościłem ją. pozdrawiam
Wynika z tego, że chodzi o wskaźnik dostrojenia toru FM a dokładnie, czy układ detektora znajduje się w środku krzywej "S". Wtedy zniekształcenia są najmniejsze.
Aha.... myślałem, że też obsługuje.... a dałoby się to jakoś inaczej zrobić? Przekazywać przez wartość lub przez wskaźniki.
Dziękuje za kod bacznie się mu przyjrzę ale w międzyczasie napisałem coś takiego i chciałbym byś powiedział czy taka definicja ma szansę zdziałać.. Nie, bo próbujesz w tablicy umieścić instrukcje, a nie konkretne wartości. Najbliżej tego co chciałeś uzyskać jest tablica wskaźników na funkcje, ale to już inna bajka.
Mam taką funkcję: uint16_t policz_srednia_tablicy(uint16_t *tablica[16]) { uint16_t srednia_tablicy = 0; for (uint8_t i=0; i<16; i++) { srednia_tablicy += *tablica[i]; } return srednia_tablicy /16; } Jak się do niej odwołać, ewentualnie jak zapisać ją na referencjach?? Gdy napiszę: srednia_tablicy...
nazwa_funkcji to musi być wskaźnikiem na funkcje i po kłopocie.
Witam, Mam taki problem, otóż: Mam taką klasę: [syntax=cpp] class pole { public: char znak; pole *lewo, *gora_lewo, *gora_prawo, *prawo, *dol_prawo, *dol_lewo; }; [/syntax] W mainie chciałbym mieć: (poki co tablica jest globalna) [syntax=cpp]pole *tab[11][11];[/syntax] i chciałbym przekazać tą tablice do funkcji która wygląda tak: [syntax=cpp] void...
Szukam i szukam ale nie mogę znaleźć nic co by rozwiązało mój problem.Przedstawia się on następująco: Mam w pliku XML takie polecenia: <Task Index="000" Count="008" FBJ="4"> <FB Index="000" Type="FBJClear" InJ="0" OutJ="0" Count="2" /> <FB Index="001"...
1. Nie widzę nigdzie w kodzie odwołań do tych funkcji. Być może podwójna gwiazdka jest nadmiarowa i można się obyć bez niej (tj. pozbyć się jednej gwiazdki). 2. Zauważ, że masz tam ifndef->define, czyli "jeśli nie zdefiniowane, to zdefiniuj". Plik nagłówka może być dołączony do wielu plików, a powyższe instrukcje zapewniają, że przy kompilacji będzie...
wskaźnik funkcji argument generator funkcji pochodne funkcji
źródło prądowe mosfet moduł ksenon czujnik obwodu mazda
poziome paski drukarka laserowa poziome paski drukarka laserowa
HP ProBook 6545b – optymalizacja Roblox, Radeon HD 4200, SSD, RAM, niskie FPS 20TU SMD 6-pin – identyfikacja układu, LDO 2V, MOSFET, TVS, oznaczenia, rozpoznanie