我想用C編寫一個shell程序。下面的函數應該獲取用戶行輸入。我不斷收到來自void*
「無效轉換char**
錯誤在哪裏我嘗試的malloc線。使用malloc時無效的轉換錯誤
我不明白爲什麼。任何人都可以解釋一下嗎?
char *get_line_input(void)
{
int scan;
int buff_size = 1024;
int argument_tracker = 0;
char *line = malloc(sizeof(char) * buff_size);
while (1) {
scan = getchar();
if (scan == '\n') {
line[argument_tracker] = '\0';
return line;
} else {
line[argument_tracker] = scan;
}
argument_tracker++;
}
}
你確定你沒有使用C++編譯器 –
無法重現:乾淨的編譯。從''void *''到''char **'''的錯誤從'void *''改爲'char *''的 –
? – BLUEPIXY