Есть ли способ использовать printf для вывода значения класса?
class example
{
public:
int x;
example(int in) : x(in) {}
}
void printf(example object)
{
printf(object.x);
}
Есть ли способ сделать это правильно?Когда я это делаю, я получаю ошибку сегментации, но когда я использую «example & object», он говорит:
error: не может связать неконстантную ссылку lvalue типа 'object &' с rvalue 'object '
И когда я помещаю "const example & object", он говорит:
Передача "const example" в качестве аргумента "this" отбрасывает квалификаторы
примечание: я уже сделал std :: cout (перегрузка оператора <<), и он работает, но я просто хочу попробовать использовать printf </p>
Я также попытался заставить его выполнить
std::cout<<object.x;
Когда я это сделал, он автоматически добавил новую строку в начале int (например, так):
example a(5);
printf("the value is: %i", a) ;
Результат:
the value is:
5