2013-12-23 231 views
0

我試圖將PHP代碼轉換爲C++。C++轉換PHP代碼將字符串添加到字符串

$this->Key + 1 + log2p (floor($TimePlot/$this->kY)*M_PI-2*20 

在PHP中Key是C++中的字符串key2是char *,timeplot是time_t,val是int。

key2 + 1 + log2(floor((double)timeplot/this->val*M_PI-2*20)) 

和錯誤是: 錯誤C2111實施:「+」:指針除了需要整體操作

我不知道該怎麼做,使之工作。提前致謝。

+0

你需要施放你的值。你不能在C++中使用「+」運算符。 –

+0

但是這裏有什麼問題?我應該施加什麼樣的價值? – deepspace

+2

在C++中,您首先使用['std :: string'](http://en.cppreference.com/w/cpp/string/basic_string)而不是原始字符指針。然後你可以使用例如['std :: to_string'](http://en.cppreference.com/w/cpp/string/basic_string/to_string)將數字轉換爲字符串並追加。 –

回答

1

如果你的$這個 - >鍵是字符串,並且要在C++也,那麼你需要做這樣的事情一個字符串結束:

char bf[1024]; 
sprintf (bf, "%f", 1.0 + log2(floor((double)timeplot/this->val*M_PI-2*20))); 
std::string k = key2; 
k += bf; 

假設你的表達決心一切到可以參與數字計算的數字值。我在這裏使用了1024字節的緩衝區長度,您可以相應地調整它。

+0

非常感謝!還要感謝Joachim! – deepspace