typedef void interrupt_handler();
'un anlamını anlamıyorum. Birisi bazı örneklerle açıklayabilir mi?Bu bildirim ne yazıyor typedef void foo(); anlamına gelmek?
typedef void interrupt_handler();
typedef void interrupt_handler();
'un anlamını anlamıyorum. Birisi bazı örneklerle açıklayabilir mi?Bu bildirim ne yazıyor typedef void foo(); anlamına gelmek?
typedef void interrupt_handler();
O interrupt_handler
void
döndürür ve parametrelerini (sözde eski tarz beyanı) belirtmez fonksiyonu için tip eşanlamlı olduğunu ifade eder bakınız. i bootfunc Bu fonksiyon boş cpu_boot (UINT çekirdekleri, bootfunc interrupt_handler, uint SerialNo) sahip
#include <stdio.h>
typedef void interrupt_handler();
void foo()
{
printf("foo\n");
}
int main(void)
{
void (*foo_ptr_ordinary)() = foo;
interrupt_handler *foo_ptr = foo; // no need for parantheses
foo_ptr_ordinary();
foo_ptr();
return 0;
}
Belli bir imza ile function pointer bir typedef
ilanıdır (bu durumda bir void
iade ve herhangi bir arguman fonksiyonu).
What is a C++ delegate? (üst cevabı, opsiyon 3)
ve tartışma: (bu parantez gerekli değildir özel bir durumdur) işlevi işaretçi olarak kullanılır
foo_ptr
örneğin aşağıdaki bakınız Aşağıdaki argümanları geçmek istiyorum: Görev boot_task, int argl, void * args. Görev tipi typedef int (* Görev) (int, void *); Bunu nasıl uygulayabilirim? sarıcı işlevi gibi bir şey? @cmbasnett –@LefterisSarantaris: Bunu ayrı bir soru olarak sormayı tercih ederim. Daha önce denediğin şeyi tarif etmeyi unutma, sorununu açıkla ve en az bir örnek ekle. –