SORU
9 EYLÜL 2008, Salı


Orada foo(void) ve foo arasında bir fark var mı() C veya C

Bu iki fonksiyon tanımları göz önünde bulundurun

void foo(){}

void foo(void){}

Bu ikisi arasında herhangi bir fark var mı? Neden geçersiz argüman yok? Estetik nedenler?

CEVAP
9 EYLÜL 2008, Salı


Ana nedeni C ve C arasında paylaşılan başlıkları tutarlı yorumlanması elde etmektir .

C:
void foo() demek "fonksiyonu foo belirlenemeyen tür bağımsız değişken sayısı bilinmeyen alma"
void foo(void) demek "fonksiyonu foo hiçbir argüman alacak"

C:
void foo() demek "7 ** bir işlev argüman alacak"
void foo(void) demek "fonksiyonu foo hiçbir argüman alacak"

Yazılı foo(void), Bu nedenle, elde aynı yorumu genelinde her iki dilde ve bizim başlıklar çok dilli (gerçi biz genelde gerek bazı şeyler için başlıklar yapmak onları gerçekten çapraz dil; yani, sarın onları bir extern "C" eğer derleme C ).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boburnham

    boburnham

    11 Temmuz 2006
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • Kindness

    Kindness

    23 Ocak 2006