C++ 为什么说这个函数未定义?
intmain(){Add();return0;}voidAdd(constcharVal="Talkerun"){printf("Val=",Val);return0;...
int main()
{
Add();
return 0;
}
void Add(const char Val="Talkerun")
{
printf("Val=",Val);
return 0;
}
================================
我新建了一个控制台程序,创建了一个Main.cpp之后直接将上面的代码放进去。请问为什么不行? 展开
{
Add();
return 0;
}
void Add(const char Val="Talkerun")
{
printf("Val=",Val);
return 0;
}
================================
我新建了一个控制台程序,创建了一个Main.cpp之后直接将上面的代码放进去。请问为什么不行? 展开
6个回答
展开全部
大哥,const char 是常变量啊 ,是一个字节啊 , 你把一个字符数组赋给它算是怎么回事啊 ,
这就是 cannot convert from 'char [9]' to 'const char'
你add()里面不是要参数吗 , 虽然在你的程序里没用 ,但还是要啊
这就是 missing default parameter for parameter 1
输出函数里是不是少了 %s 格式控制符了
这就是 undeclared identifier
明明是空函数 , 你返回啥 0 啊
这就是 'void' function returning a value
这就是 cannot convert from 'char [9]' to 'const char'
你add()里面不是要参数吗 , 虽然在你的程序里没用 ,但还是要啊
这就是 missing default parameter for parameter 1
输出函数里是不是少了 %s 格式控制符了
这就是 undeclared identifier
明明是空函数 , 你返回啥 0 啊
这就是 'void' function returning a value
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
顺序错了,main中识别不到Add函数。
修改:
void Add(const char Val="Talkerun")
{
printf("Val=",Val);
return 0;
}
int main()
{
Add();
return 0;
}
修改:
void Add(const char Val="Talkerun")
{
printf("Val=",Val);
return 0;
}
int main()
{
Add();
return 0;
}
更多追问追答
追问
C:\asd\Main.cpp(1) : error C2440: 'default argument' : cannot convert from 'char [9]' to 'const char'
C:\asd\Main.cpp(2) : error C2548: 'Add' : missing default parameter for parameter 1
C:\asd\Main.cpp(3) : error C2065: 'printf' : undeclared identifier
C:\asd\Main.cpp(4) : error C2562: 'Add' : 'void' function returning a value
还是存在很多错误,请问为何
追答
倒,没认真看函数,错误果然多!
1)Add 参数错误:去参数,因为main中根本就没用到;
2)Add中printf格式错误:printf("Val=%s", Val);
3)虽然可以改,不过这段程序的意义实在是不明了。。。调用Add没有操作,只是打印个输出??
修正:
const char *Val="Talkerun";
void Add()
{
printf("Val=%s",Val);
}
int main()
{
Add();
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数必须先声明再使用,你没有先声明。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要在main()之前声明这个函数
追问
为什么我颠倒过来还是不行?
追答
这个函数的作用就是输出一个字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码我给你改了
#include<iostream>
using namespace std;
void Add(const char *Val="Talkerun")
{
printf("Val=%s",&*Val);
return;
}
int main()
{
Add();
system("pause");
return 0;
}
1,void不能有返回值
2,"Talkerun"应为const char*
还有不懂得hi我
#include<iostream>
using namespace std;
void Add(const char *Val="Talkerun")
{
printf("Val=%s",&*Val);
return;
}
int main()
{
Add();
system("pause");
return 0;
}
1,void不能有返回值
2,"Talkerun"应为const char*
还有不懂得hi我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询