2012-11-28 43 views
0

我正在閱讀一本書,並從書中編寫一些代碼以用於我的項目,並提出了一個問題。這對我沒有意義,而且我正在尋找某人提供一些建議。index(char) - 從書中重寫代碼

有一個名爲「set_emission」類「數據」功能:

void set_emission(int i, int j, double v) 
    { 
     emissions[i][j] = v; 
    } 

而且我有所謂的「o_init」另一個階級的另一個功能

void o_init(int s, const char c, double value) 
{ 
    current->set_emission(s, index(c), value); 
} 

爲什麼set_transition存在int,int,double但是在o_init中他們傳遞了一個int,char,double ..這是一個錯字還是什麼?

+1

index(c)做了什麼? – billz

+0

@billz我剛剛注意到..有沒有關於「索引」的文檔,這是奇怪的..我只是假設它得到了字符的索引? – Phorce

+2

'char'類型可以毫無疑問地被提升爲'int'(所有在char中表示的值也可以用'int'表示)。在任何情況下,第二個值都是'index(c)'的返回值,這很可能是一個返回'int'的函數或一個宏。你必須找到那個函數或宏(聲明或定義)來知道那裏發生了什麼。 –

回答

1

var c是char類型,但是索引(c)不會是char類型。 索引可能是一個函數或宏我猜,它會返回一個int值,這將是合理的。

+0

我是一個白癡,不能讀;)一旦你說「宏」,我突然意識到。道歉,請不要投票! – Phorce

+0

MACRO,也許它來自#define索引(x)some_code_here ... – Healer