• 18-11-2013, 01:12:28
    #1
    Herkese iyi akşamlar. Çalışma amacıyla yazdığım bir kodda hata alıyorum ama hatanın sebebini bir türlü bulamadım. Büyük bir ihtimal çok basit bir hata ama gözden kaçırıyorum. Yardım ederseniz çok sevinirim.

    Sorunu eleman_cikar fonksiyonunda alıyorum.

    HATA
    xxx\main.c In function 'eleman_cikar':
    34	3	xxx\main.c [Warning] 'return' with a value, in function returning void [enabled by default]
    68	1	xxx\main.c [Error] expected declaration or statement at end of input
    #include <stdio.h>
    #include <stdlib.h>
    
    #define SENTINEL -1000000;
    
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    
    struct eleman{
    	int icerik;
    	struct eleman* link;
    };
    
    struct eleman* eleman_olustur(int icerik){
    	struct eleman *e;
    	e=malloc(sizeof(struct eleman));
    	e->icerik=icerik;
    	e->link=NULL;
    	return e;
    }
    
    struct eleman* yigina_ekle(struct eleman **yigin_isaretcisi, int yeni){
    	struct eleman *e=eleman_olustur(yeni);
    	e->link=*yigin_isaretcisi;
    	*yigin_isaretcisi=e;
    }
    
    int yigin_bos_mu(struct eleman *yigin_isaretcisi){
    	if(yigin_isaretcisi==NULL) return 1;
    	return 0;
    }
    
    void eleman_cikar(struct eleman **yigin_isaretcisi){
    	if(yigin_bos_mu(*yigin_isaretcisi)){
    		return SENTINEL;
    	}else{
    		struct eleman *cikarilan=*yigin_isaretcisi;
    		*yigin_isaretcisi=(*yigin_isaretcisi)->link;
    		free(cikarilan);
    	}
    	
    void yigin_yaz(struct eleman *yigin_isaretcisi){
    	printf("Yigini Yaziyorum...\n");
    	while(yigin_isaretcisi!=NULL){
    		printf("%5d",yigin_isaretcisi->icerik);
    		yigin_isaretcisi=yigin_isaretcisi->link;
    	}
    	printf("\n");
    }
    
    int main(int argc, char *argv[]) {
    	
    	struct eleman *yigin_isaretcisi;
    	int cikarilan;
    	
    	yigina_ekle(&yigin_isaretcisi,5);
    	yigina_ekle(&yigin_isaretcisi,15);
    	yigina_ekle(&yigin_isaretcisi,25);
    	
    	yigin_yaz(yigin_isaretcisi);
    
    	eleman_cikar(&yigin_isaretcisi);
    	yigin_yaz(yigin_isaretcisi);
    
    	eleman_cikar(&yigin_isaretcisi);
    	yigin_yaz(yigin_isaretcisi);
    	
    	return 0;
    }
  • 18-11-2013, 02:19:31
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Void tanımlanan bir fonksiyonun geri dönüş değeri olmaz. "eleman_cikar" fonksiyonun void ama sen içerisinde return yapıyorsun.
  • 18-11-2013, 02:20:25
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Eleman çıkar fonksiyonunu kapatmamışsın. fonksiyonun sonuna } koy hocam ve fonksiyonun tipi void olmasına rağmen return ettirmişsin.
  • 18-11-2013, 02:27:04
    #4
    Fonksiyonu kapatmadığım için hata veriyormuş. Kafa kalmadı vizeye çalışmaktan gözümden kaçmış. Yardımlarınız için teşekkür ederim.
  • 18-11-2013, 16:56:37
    #5
    Bu konuda size Visual Studio 2013 öneriyorum. Snippet, prop gibi solution pencereleri geliştirildi.
  • 18-11-2013, 21:02:45
    #6
    Cybokron adlı üyeden alıntı: mesajı görüntüle
    Bu konuda size Visual Studio 2013 öneriyorum. Snippet, prop gibi solution pencereleri geliştirildi.
    Tavsiyeniz için teşekkürler hocam. Deneyeceğim Visual Studio 2013'ü.