我正在尝试使用一个变量并在函数使用它之后将其删除。Basicacly我doint str1 + str2,在函数中使用它然后释放内存。我以为我把一切都搞定了,但我的代码向我抛出了警告和错误:
- 错误:重新定义“命令”。
- 警告:函数“malloc”的隐式声明 [-Wimplicit-function-declaration]
- 警告:内置函数“malloc”的不兼容隐式声明 [默认启用]
- 警告:函数“免费”的隐式声明 [-Wimplicit-function-declaration]
- 警告:内置函数'free'的不兼容隐式声明[默认启用]
这是前面提到的代码:
// Step 1
char* commande = (char*) malloc(len1 + len2 + 1);
strcpy(commande, str1);
strcat(commande, str2);
function(commande);
free(commande);
// Step 2
char* commande = (char*) malloc(len3 + len4 + 1);
strcpy(commande, str3);
strcat(commande, str4);
function(commande);
free(commande);
我究竟做错了什么?
编辑:我更正了 len2 中的错字。