2014-05-18 51 views
0

好吧,我正在尝试使用一个程序的庞然大物,并且我已经排序了大量的错误。一个是一个的,现在神秘的我是当我得到了这条线“从‘字符’到‘为const char’无效转换”:使用插入函数从char到const char的转换无效从<string>

sequenceMutation.insert(initialPosition, 'T'); 

initialPosition本身,就是要等于sequenceIleChains[0] + 3,对应于指数第一个异亮氨酸组的最后一个字符(加上一个以说明insert的行为)。我不知道为什么它会输出这个数据,考虑到我在函数中初始化并声明了string sequenceMutation而没有const,所以如果任何人都能弄明白这一点,那将是有用的。

此外,如果它可以帮助,我用

string sequenceMutation = sequenceOld[sequence]; 

初始化和申报sequenceMutation,其中sequenceOld是,我通过使用vector<string>& sequenceOld和序列参考向量是一个整数值我初始化,声明,通从int main()的for循环中我将这个函数放在里面。

+0

什么'initialPosition'的类型?从它的声音来看,这是一个不可或缺的价值。如果是这样,'std :: basic_string'中的'insert()'不会有重载,它会带一个整数和一个'char'。也许你的意思是'sequenceMutation.insert(initialPosition,1,'T')'。 –

回答

2

更换'通过",要插入一个字符串,而不是一个char,看到http://www.cplusplus.com/reference/string/string/insert/

+0

谢谢你是一位救生员。然而,当我声明这个函数时,为什么我会从'char'转换为'int'的问题 'void printMutation(const vector &,const vector < vector>&,int,ofstream &);' – JbstormburstADV

+0

你在哪里得到错误?当你调用函数时,请发布代码和变量的类型,因为通过查看函数原型我们无法弄清楚发生了什么。 – vsoftco

+0

好吧,我已经将整个程序放在代码中在这里:https://coderpad.io/720710。我写的每个文件都以开始和结束注释为边界,并且在底部添加了编译器的错误文本,注释表示coderpad模拟中的行位置函数的行 – JbstormburstADV

相关问题