не может определить функцию, которая возвращает std :: vector & lt; string & gt; написано в блокноте jupyter (ядро ROOT)

Я использую ROOT в ноутбуке Jupyter и у меня возникла проблема при определении следующей функции:

#include <vector>
#include <string>
#include <iostream>
//---cell separation---
using namespace std;
//---cell separation---
vector<string> split(string input, char delim){
vector<string> ret;
string temp;
for(char letter:input){
if(letter!=delim){
temp+= letter;
}else{
ret.push_back(temp);
temp.clear();
}
}
ret.push_back(temp);
return ret;
}

Ячейка jupyter возвращает сообщение об ошибке следующим образом:

ошибка: определение функции здесь не разрешено

вектор< string> split (ввод строки, разделитель символов) {
^

и функция разделения не определена.
Однако я пишу тот же код и могу скомпилировать его локальным g ++, и он работает нормально.

Это известная ошибка ROOT? Я думаю, что определение функции может быть интерпретировано как некое воплощение векторного объекта.

Я ищу альтернативные способы избежать этой проблемы.

С наилучшими пожеланиями.

-4

Решение

Это доска (https://github.com/QuantStack/xeus-cling/issues/40) дает мне альтернативный способ, такой как использование auto или typedef для замены «vector< строка> «и это работает.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]