2013-04-13 343 views
0

我正在編譯時遇到此錯誤...「stock.c:103:錯誤:'stock_t'之前的期望表達式」...是否有一些我做錯了什麼?「Error:expected expression before」我的函數的第一行

stock_t * createStockHolding(
    char * name, float closing, float opening, int shares, 
    float (* getPrice) (void * S), 
    float (* getTotalDollarAmount)(void * S), 
    float (* getPercentChange)(void * S), 
    char * (* toString)(void * S)) { 

     stock_t * newStock = (stock_t*)malloc(sizeOf(stock_t)); 
     newStock->stockSymbol = name; 
     newStock->closingSharePrice = closing; 
     newStock->openingSharePrice = opening; 
     newStock->numberOfShares = shares; 
     newStock->getPrice = getPrice; 
     newStock->getTotalDollarAmount = getTotalDollarAmount; 
     newStock->getPercentChange = getPercentChange; 
     newStock->toString = toString; 
     return newStock; 
}  
+0

而你包含頭文件'stock_t'聲明? –

+0

具有多於5個參數的功能通常意味着存在設計問題。 – ouah

+0

你能否在這段代碼上面粘貼一些行,錯誤可能在其中之一。 – Kninnug

回答

5

它是sizeOf的大寫字母O.您必須使用sizeof(小號o)。

+0

@ouah這是一條新的*警告*消息嗎? * error *消息仍然存在?什麼是編譯器輸出? – Bechir

+0

@ouah其實,它是http://codepad.org/FctBHGWe – Dave

+0

@Dave的權利,我專注於*隱式聲明*診斷。 – ouah

相關問題