Я пытаюсь преобразовать PHP-код в C++.
$this->Key + 1 + log2p (floor($TimePlot/$this->kY)*M_PI-2*20
В PHP Ключ - строка в C++ key2 - char *, timeplot - time_t, а val - int.
key2 + 1 + log2(floor((double)timeplot/this->val*M_PI-2*20))
и ошибка: ошибка C2111: '+': добавление указателя требует целостного операнда
Я не знаю, что делать, чтобы заставить его работать. Заранее спасибо.
Если ваша клавиша $this-> является строкой, и вы также хотите получить строку в 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 байта, вы можете настроить его соответствующим образом.