Диапазоны C++20 позволяют исключить пропущенные значения из столбца в файле CSV. пороги [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Диапазоны C++20 позволяют исключить пропущенные значения из столбца в файле CSV. пороги [закрыто]

Сообщение Anonymous »

Я использую пример книги, который ищет недостающие значения в файле CSV с помощью !isnan (не является числом).
"pclass","survived","name","sex","age","sibsp","parch","ticket","fare","cabin","embarked","boat","body","home.dest"

1,1,"Allen, Miss. Elisabeth Walton","female",29,0,0,"24160",211.3375,"B5","S","2",?,"St Louis, MO"
1,1,"Allison, Master. Hudson Trevor","male",0.9167,1,2,"113781",151.55,"C22 C26","S","11",?,"Montreal, PQ / Chesterville, ON"

#define FMT_HEADER_ONLY

#include
#include
#include
#include
#include
#include
#include
#include
#include

int main() {
// load Titanic dataset; treat missing age values as NaN
rapidcsv::Document titanic{"titanic.csv",
rapidcsv::LabelParams{}, rapidcsv::SeparatorParams{},
rapidcsv::ConverterParams{true}};

фрагмент, в котором произошла ошибка компилятора:
// use C++20 ranges to eliminate missing values from age column
auto removeNaN{
age | std::views::filter([](const auto& x) {return !isnan(x);})};
std::vector cleanAge{
std::begin(removeNaN), std::end(removeNaN)};

вывод журнала сборки
In instantiation of ‘main():: [with auto:20 = double]’:

type_traits:2565:26: required by substitution of ‘template static std::__result_of_success std::__result_of_other_impl::_S_test(int) [with _Fn = main()::&; _Args = {double&}]’

Я не уверен, какой вопрос мне, как новичку, следует задать.
Файл type_traits находится в /usr/include/c++/12
Я компилирую с помощью Code::Blocks IDE, используя C++20 [-std+gnu++20];
type_traits находится в папке с пометкой «12». Происходит ли какой-то конфликт версий/ароматов?
Мне нужно больше знаний о шаблонах, но это просто копирование и вставка из примера из книги.
Я не знаком с файлом type_traits, за исключением случая, когда он вчера появился в выводе журнала сборки.
Я пытался понять сообщение об ошибке, но понятия не имел, о чем оно мне говорит.
Тема шаблонов спустя 100 страниц. в книге.
Предполагается, что этот пример книги демонстрирует, как читать CSV-файл, в котором отсутствуют некоторые целые числа.
#define FMT_HEADER_ONLY

#include
#include
#include
#include
#include
#include
#include
#include
#include

int main() {
// load Titanic dataset; treat missing age values as NaN
rapidcsv::Document titanic{"titanic.csv",
rapidcsv::LabelParams{}, rapidcsv::SeparatorParams{},
rapidcsv::ConverterParams{true}};

// GetColumn returns column's data as a vector of the appropriate type
auto survived{titanic.GetColumn("survived")};
auto sex{titanic.GetColumn("sex")};
auto age{titanic.GetColumn("age")};
auto pclass{titanic.GetColumn("pclass")};

// display first 5 rows
std::cout

Подробнее здесь: https://stackoverflow.com/questions/792 ... e-rapidcvs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»