无法定义返回使用jupyter笔记本编写的std :: vector <string>的函数(ROOT内核)

时间:2018-11-20 14:13:36

标签: c++ jupyter-notebook

我在jupyter笔记本中使用ROOT,并且在定义以下功能时遇到问题:

#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单元返回如下错误消息:

  

错误:此处不允许使用函数定义

     

vector <字符串> split(字符串输入,char delim){                                                             ^

并且未定义split函数。 但是,我编写了相同的代码,可以通过本地g ++进行编译,并且可以正常工作。

这是一个已知的ROOT错误吗?我认为函数定义可以解释为矢量对象的某种实例化。

我正在寻找避免该问题的替代方法。

最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

此面板(https://github.com/QuantStack/xeus-cling/issues/40)为我提供了另一种方法,例如使用auto或typedef替换“ vector ”,它就可以工作。