main()
birkaç olası imzaları vardır:
void main()
void main(string[] args)
void main(char[][] args)
void main(wstring[] args)
void main(wchar[][] args)
void main(dstring[] args)
void main(dchar[][] args)
int main()
int main(string[] args)
int main(char[][] args)
int main(wstring[] args)
int main(wchar[][] args)
int main(dstring[] args)
int main(dchar[][] args)
int dönüş türü ise, o zaman var hemen hemen aynı C veya C++ olduğunu. Geri döndüğünüz değer, OS/kabuğun gördüğü değerdir. Bir özel durum atılırsa, yığın izi yazdırılır ve OS/kabuk sıfırdan farklı bir değer görür. Ne olduğunu bilmiyorum. İstisna türüne göre değişebilir. void dönüş türü ise
, daha sonra, OS/kabuk, bir özel durum ise, bir yığın izlemesi basılır 0'a görür ve OS sıfır olmayan bir değer görür. Yine, ne olduğunu bilmiyorum.
Esasen, ana sahip geçersiz OS/kabuk için bir değer dönen dert sağlar. Çoğu program, geri dönüş başarısı veya OS/kabuğun arızalanması ile ilgili değildir. Yani, boşluğa sahip, OS/kabuk daima bir özel durum olmadıkça 0 alır - hangi mantıklı bir istisna main()
kaçar eğer bu noktada tek bir program hatası olduğu için. OS/kabuğuna başarılı veya başarısız dönen hakkında umurumda , o zaman basitçe int döndüren sürümlerinden birini kullanın.
Farklı dize türleri nedeniyle imzaların çokluğu, olası dize türlerini main()
numaralı girdi olarak kullanabilmenizdir. main()
ve main(string[] args)
, muhtemelen en yaygın kullanılanlardır. void dönüş türü ile
@Michal Cevabını kabul ettim çünkü en net olanı. Ama sanırım eğer ana boşluk ile karşılaşırsanız, birisi bir şey döndürdüğünü söylerse en iyi kafa karıştırıcı olur. Bence D bölümünde en iyi seçim değil. –
Bu biraz yanıltıcıdır, ancak "ana" işletim sistemine bir değer döndürmekten daha fazlası değildir. Çoğu dil için bu belgelerin çoğu, bu terimlerle ifade edilen durumdur :) Her zaman 1) OS'ye özgü etkileşimleri ele alır ve 2) dil anlamını zorunlu kılar. – shambulator
@shambulator, ancak ana (C++) tarafından döndürülen değer, sisteme döndürülen değerdir, bu yüzden benim için "bir dil kullanıcısı" söz konusu olduğunda, diğer katmanların orada olacağı gerçekten önemli değil - Ben açıkça belirtiyorum Son noktadan kontrolün (ana) olduğu programım, ana dönüşlerin ne olduğunu ve bir dönüş türü olarak geçersiz kaldığını ve “örtülü bir şekilde” bir şey döndürdüğünü geri döndürüyorsa bu sadece kötü bir fikir. Yine de benim için. Ve işletim sisteminin ana geri dönüş değerinin doğru olmadığını söylediğinizde, bir ana ilk nokta (ya da son) nasıl göründüğünüze bağlı olduğu için bu doğru değildir. - –