в первую очередь, то, что вы передаете функции не строка, а лишь указатель на один символ.
Вы спрашиваете, что вы должны сделать, чтобы напечатать этот символ.
технически, это так же просто, как это:
#include <iostream>
void Func(char* x)
{
std::cout << *x << std::endl;
}
int main()
{
char a = 'G';
Func(&a);
}
, но в то время как это работает технически, там ’ s много, что будет, так сказать, вскочить из туалета и укусить в более крупной программе & hellip;
so let ’ s начинаются с подпись функции: ее аргументы и результат. если точка заключается в том, что функция должна предоставить значение для переменной, используемой как фактический аргумент, а затем выбрать результат функции, а не аргумент указателя. а затем дон ’ т делать любой I/O в функции, потому что тогда ограничивает его полезность, что она может быть использована для:
#include <iostream>
char Func()
{
return 'A';
}
int main()
{
char const a = Func();
std::cout << a << std::endl;
}
если, с другой стороны, точка является лишь то, что функция должна дисплей (или сделать что-то с) значение символа, а затем передать его по значению, как это:
#include <iostream>
void Func(char const x)
{
std::cout << x << std::endl;
}
int main()
{
char const a = 'N';
Func(a);
}
если, с третьей стороны, идея действительно передать строку, а затем использовать std::string
–, но затем у нас есть менее вероятные возможности, из которых есть изобилие, слишком много для покрытия в этом ответе
Можете ли вы опубликовать свой код Func? – billz
'a' не является символьной строкой. Это всего лишь один персонаж. –
Вы хотите напечатать внутри функции ('x') или вне функции (' a')? – pmg