如何解决C ++ execv没有已知的转换“ const char * [6]”和“ char * const *”
我试图用一些参数调用execv()
,imagePath
和outputPath
是std::string
,所以我将它们转换为C字符串,然后将整数转换为C字符串也是
我得到的错误是
function not viable: no kNown conversion from 'const char *[6]' to 'char *const *' for 2nd argument
int execv(const char * __path,char * const * __argv) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
const char *[]
和char *const *
有什么区别?
void Utility::ExecCrop()
{
// convert numbers to strings
const char* x_char = std::to_string(job.x).c_str();
const char* y_char = std::to_string(job.y).c_str();
const char* w_char = std::to_string(job.w).c_str();
const char* h_char = std::to_string(job.h).c_str();
const char* arguments[] = { imagePath.c_str(),outputPath.c_str(),x_char,y_char,w_char,h_char };
execv(execPath.c_str(),arguments);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。