Ошибка компиляции на месте вызова printf()

117
12 августа 2019, 00:30

Почему вот это работает,

printf("%s", "hello");

а вот это нет ?

string str = "hello";
printf("%s", str);

Как сделать так, чтобы работало?

Answer 1
  1. Потому что "%s" используется для строки в стиле C. string таковой, в отличие от "hello", не является,
  2. но его функция-член c_str() возвращает нужное C-представление своего содержимого.

string str = "hello";
printf("%s", str.c_str());

Особое мнение :) - это издевательство - так перемешивать C и C++. Выберите себе один язык и пользуйтесь им...

READ ALSO
Как расширять структуру / класс вне его / ее объявления?

Как расширять структуру / класс вне его / ее объявления?

Никак не могу понять как на примере интерпретатора python можно расширять главный PyObject дополняя его методами и другими объектами не правя саму...

93
Библиотека libxl не видит файл

Библиотека libxl не видит файл

Пытаюсь проверить работоспособность примера библиотеки libxl:

106
Из цифр двух натуральных чисел создать наименьшее возможное число, сохраняя порядок следования цифр

Из цифр двух натуральных чисел создать наименьшее возможное число, сохраняя порядок следования цифр

Требуется написать программу, которая из цифр двух натуральных чисел создает наименьшее возможное число, сохраняя при этом порядок следования...

119
Стохастическая матрица (Markov chain)

Стохастическая матрица (Markov chain)

у меня произошла ошибкаМне нужно создать стохастическую матрицу, например:

119