Hatalar, hatalar, sorular - sayfa 1643

 
A100 :

Derleme hatası: ')' - tüm kontrol yolları bir değer döndürmez

Tüm kod dalları sizin için bir değer döndürmez, şöyle yazmanız gerekir:

 int f()
{
 int res = 0 ;
         while ( true ) //или for(;;)
        {
//много строк c return, continue, без break
                res = 0 ; break или continue
//много строк c return, continue, без break
                res = 1 ; break или continue 
        }
return (res);
}

Veya bunun gibi:

 int f()
{
         while ( true ) //или for(;;)
        {
//много строк c return, continue, без break
                 return 0 ;
//много строк c return, continue, без break
                 return 1 ;
        }
   return (значение возвращаемое по умолчанию если не выполнены предыдущее return );
}
 
Vitalii Ananev :

Tüm kod dalları sizin için bir değer döndürmez.

Onun verdiği örnekte - her şey. while(true) öğesinden çıkış, yalnızca break deyimi (sahip olmadığı) veya geri dönüş ile mümkündür.
 
Sergei Vladimirov :
Onun verdiği örnekte - her şey. while(true) öğesinden çıkış, yalnızca break deyimi (sahip olmadığı) veya geri dönüş ile mümkündür.
tartışmayacağım. Ancak derleyici hata mesajı ')' - tüm kontrol yolları bir değer döndürmez, aksini söylüyor.
 
Vitalii Ananev :
tartışmayacağım. Ancak derleyici hata mesajı ')' - tüm kontrol yolları bir değer döndürmez, aksini söylüyor.
Aynısını C++ da deneyin
 
A100 :
Aynısını C++ da deneyin

C++'ın bununla ne ilgisi var?

....

Kodunuza daha yakından bakın. Hatanızı kaçırdım , return ifadesinin dönüş değeri parantez içinde yazılmalıdır. return(0) ve return 0 yazdınız;

 
Vitalii Ananev :

C++'ın bununla ne ilgisi var?

Bu durumda C++'ın bir tür standart gibi davrandığı göz önüne alındığında
Vitali Ananev :

Kodunuza daha yakından bakın. Hatanızı kaçırdım , return ifadesinin dönüş değeri parantez içinde yazılmalıdır. return(0) ve return 0 yazdınız;

Neden fazladan parantezler?
 
A100 :
Bu durumda C ++ standart olarak hareket ettiği göz önüne alındığında

Yani, C++ ile yazıyorsunuz ama hepsini mql'de mi derliyorsunuz?

Neden fazladan parantezler?

Bu , mql dilinin sözdizimidir .

 
Vitalii Ananev :

Yani, C++ ile yazıyorsunuz ama hepsini mql'de mi derliyorsunuz?

Bu , mql dilinin sözdizimidir .

Parantez olmadan bir değer döndürebilirsiniz. Sadece dene.
 
Artyom Trishkin :
Parantez olmadan bir değer döndürebilirsiniz. Sadece dene.
Evet derleniyor ama ben hep parantez içinde yazarım. Zaten kurallar kategorisine dahil olan bir alışkanlık.
 
Vitalii Ananev :

Yani, C++ ile yazıyorsunuz ama hepsini mql'de mi derliyorsunuz?

Bu , mql dilinin sözdizimidir .

Uzak geçmişten bize uçtun mu? )