2011-04-25 83 views
0

我很難在方法簽名中正確定義返回類型。問題是
list* GetPrimeNumbers()如何返回一個結構?

struct dynamicArray{ 
    int val; 
    struct dynamicArray * next; 
}; 

typedef struct dynamicArray list; 

int PrimeFactor() 
{ 
    int sum = 0; 
    list * primeNumbers; 
    primeNumbers = GetPrimeNumbers(); 
    return sum; 
} 

list* GetPrimeNumbers() 
{ 
    int max = 100; 

    list * current, * head; 
    head = NULL; 

    for(int i = 2; i < max; i++) 
    { 
    //..implmenetation 
    }  
    return current; 
} 

我嘗試了好幾種返回類型,但沒有奏效。我是一名初級C程序員。需要在那裏?

+1

動態數組和鏈表是兩個完全不同的東西。 – 2011-04-25 18:23:31

+0

我不認爲你發佈的代碼有任何問題('current'是類型'list *')。實施部分可能有些問題。什麼是BTW錯誤信息? – Mahesh 2011-04-25 18:25:55

+3

什麼意思是「沒有工作」?出了什麼問題? – corsiKa 2011-04-25 18:26:13

回答

4

要麼你需要用typedefGetPrimeNumbers一個頭文件和原型,或者需要交換的功能GetPrimeNumbersPrimeFactor的文件中。

編寫PrimeFactor時,您提供代碼的方式GetPrimeNumbers沒有聲明。

+0

+1 - 是的,交換訂單修復它。要採取一些習慣這種語言,多年沒有使用它。 – 2011-04-25 18:33:54