Error etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Error etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

9 Kasım 2016 Çarşamba

warning: deprecated conversion from string constant to 'char*' Uyarısı Çözümü

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)

8 Kasım 2016 Salı

error: lvalue required as increment operand Hatası Çözümü

8. satırdaki işlem sonucu alınan hata.
#include <iostream>

using namespace std;

int main(){
    int sayi[] = {1,2,3,4,5,6,7,8,9,10};

    int* p = &sayi[0];

    cout << "*++p++ = " << *++p++ << endl;
 
    return 0;
}
Çözüm olarak yapılması gereken *++p++ işleminin doğru şekli *(++p)++ şeklinde kullanımıdır.

5 Kasım 2016 Cumartesi

error: 'atoi' was not declared in this scope Hatası Çözümü

atoi fonsksiyonunun tanımlı olması için stdlib kütüphanesini eklemelisiniz, aksi halde program derlenme sırasında error: 'atoi' was not declared in this scope hatasını verecektir.

#include <stdlib.h>