我正在尝试将PHP代码转换为C ++。
$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 :(得分: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字节的缓冲区长度,你可以相应地调整它。