- 此问题在此处已有答案**:
Using the default value in the middle of a function C++(2个答案)
C++ using only one default argument in function(3个答案)
昨天关门了。
我有一个代码片段,其中C++函数是用char和int类型的默认参数声明的。
#include <iostream>
using namespace std;
int print(char c = '*', int num = 10);
int print(char c, int num)
{
for (int i = 0; i < num; i++)
{
cout << c << endl ;
}
cout << endl;
return 0;
}
int main()
{
int rep;
char letter;
cout << "Enter a character : ";
cin >> letter;
cout << "Enter the number of times it has to repeat : ";
cin >> rep;
print(letter, rep);
print(rep);
print(letter);
return 0;
}
- print(rep)没有输出;**
即使字符的默认参数是给定的。知道为什么会发生这种情况吗?
我尝试使用默认参数,但是char的默认参数没有按预期工作,并且没有预期的字符输出。
1条答案
按热度按时间oxcyiej71#
参数仍然是正确的。你只能省略末尾的参数。当你调用
print(rep)
时,整数被转换成char
,num
被默认。你会注意到,如果你输入“65”('A'的代码)作为rep的值。