Loading...
Jordan_Jordanov avatar Jordan_Jordanov 16 Точки

4. Split and Join от Code Organization and C++ Templates

В main.cpp файла ми е даден този ред:

std::vector<int> numbers = split<int>(line, separator);

line е от тип std::string, separator е от тип char.

Задачата ми е да дефинирам split<>() в отделен хедър файл, който се include-ва съответно в main-a. Пробвах да го дефинирам като темплейтна функция, темплейтен функтор, но нищо не проработи и все още ми дава identifier "split" is undefined. Може би съм вървял в правилната посока, но не мога да разбера дори дали това трябва да е въобще едно от двете, които споменах, тъй като всеки път ми изписва тази компилационна грешка.

Някой би ли ми асистирал? От два дена я мъча и ще съм много благодарен!

P.S.: другите два типа които трябва да приема са <std::string> и <Song>, което е клас с член-данни от тип int и std::string и предефинирани оператори (<<, >>).

0
C++ Advanced 20/01/2020 14:46:30
WasteOfRAM avatar WasteOfRAM 5 Точки

Split е "темплейтна функция". Дори и да си написал грешно функцията и не покрива изискването в задачата ако IDE види името "split" ще ти даде друга грешка а не "undefined". При мен на VS 2019 понякога като създам хеадер файла след като е includ-нат не го приема. Пробваи да го изтриеш incude на файла от скелета и го напиши отново. Също си провери хеадер гардовете дали са правилни.

1
Jordan_Jordanov avatar Jordan_Jordanov 16 Точки

Точно това беше проблемът! Не бих и предположил... Благодаря много, спасяваш живот!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.