C ++ преобразует код PHP, добавляя числа в строку

0

Я пытаюсь преобразовать 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: '+': добавление указателя требует целостного операнда

Я не знаю, что делать, чтобы заставить его работать. Заранее спасибо.

  • 0
    Вы должны бросить свои ценности. Вы не можете просто использовать оператор "+" в C ++.
  • 0
    Но в чем здесь проблема? Какую ценность я должен бросить?
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Если ваша клавиша $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 байта, вы можете настроить его соответствующим образом.

  • 0
    Спасибо вам большое! И спасибо Иоахиму тоже!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню