MinGW derleyicisinde karşılaşabileceğimiz bir uyarı. Örnek olarak şekildeki gibi recursive fonksiyon yazdım ancak derleme sırasında
warning: deprecated conversion from string constant to 'char*' bu uyarısı karşımıza çıktı. MinGW derleyicisinde bu şekilde bir yazım desteklenmiyor eğer visual studio üzerinde derlerseniz böyle bir sorunla karşılaşılmaz. visual studio hakkında tam bir bilgim yok aslında uzun zamandır kullanmıyorum. Güncelleme sırasında 2012 sürümlerinden itibaren bu uyarıyı vs'de almakta muhtemel olabilir. Şimdi hatalı kodu görelim.
void reverse(char *p, int length)
{
if(length == 0)
return;
cout << p[length-1];
reverse(p,length-1);
}
int main(){
reverse("merhaba",7);
return 0;
}
Uyarının nedeni parametredeki karakter dizisinin const olarak tanımlanmamasında kaynaklandı. Doğru kullanım aşağıdaki gibidir.
void reverse(const char *p, int length)
Hiç yorum yok:
Yorum Gönder