【发布时间】:2025-12-14 18:00:01
【问题描述】:
我有这个结构:
typedef struct cmdLine {
char * const arguments[256];
} cmdLine;
我还有一个论点cmdLine *pCmdLine。我想使用execv所以我写execv((pCmdLine->arguments[0]), pCmdLine->arguments);。第二个参数不适合execv,我想问一下如何正确转换它。
我得到的警告是:将“char* const[256]”传递给“const char *const *”类型的参数会丢弃嵌套指针类型中的限定符。我会撒谎寻求一些帮助以正确转换它,谢谢。
【问题讨论】:
-
为什么你不能让它成为合适的类型(
char const * const[256])? -
因为
cmdLine是我作为项目要求获得的结构。 -
有趣...POSIX 标头将
execv的原型列为int execv(const char *path, char *const argv[]);- 你的目标是什么系统? -
Windows 10 @AnttiHaapala
标签: c pointers casting constants execv