2008-12-06 14 views
135

Boşluk işleviyse, bir işlevden nasıl erken çıkabilirsiniz? Belirli bir koşul doğruysa kodunu yürütmemesi gereken bir geçersiz yöntem var. Gerçekten bir değeri döndürmek için yöntemi değiştirmek zorunda kalmak istemiyorum.C++ 'daki boş fonksiyondan nasıl çıkıyorsunuz?

+6

Bu gerçekten çok basit bir soru olmasına rağmen, ilk C programımı yazdığımda aynı sorunu yaşadığım için bıktım. – rmeador

+8

@itsbunnies: Başka yerlerde belirtildiği gibi, SO'da sorulması çok kolay bir programlama sorusu yok. Eğer onunla sorun yaşadıysa, geçmişte başka biri de var ve gelecekte başka biri de olacak. –

+0

@BilltheLizard: Bu soruna sahip olan ilk programdan ne haber? Bu sorunu kimin * geçmişinde yaşadı? ;-) – flarn2006

cevap

159

İade beyanı kullanın!

return; 

veya

if (condition) return; 

Sen gerekmez (ve olamaz) yöntemi void dönerse, herhangi bir değer belirtin.

+2

: yönteminiz geçersiz olursa, herhangi bir dönüş değeri belirtmeniz GEREKMEZ. –

+0

Aha, bu yüzden geri dönüş yazarken; hiçbir şey iade etmemek, kendini boşa döndürmek anlamına mı geliyor? void zaten hiçbir şey ifade etmiyor! Hmm şimdi anladım. – quantum231

+0

@ quantum321 Geri dönüş değerinin teknik olarak tanımsız olduğunu, boş olmadığını, ancak "boşluk" olarak düşünmenin yararlı olduğunu düşünüyorum. –

11

Bunu mu demek istediniz?

void foo (int i) { 
    if (i < 0) return; // do nothing 
    // do something 
} 
9
void foo() { 
    /* do some stuff */ 
    if (!condition) { 
    return; 
    } 
} 

Sadece sadece başka işlevi yazar gibi dönüş anahtar kelime kullanabilirsiniz.

İlgili konular