Для string
не существует конструктора, который бы занимал всего char
(что и есть tag1[j]
). У вас есть пара вариантов:
string base; // construct a default string
base = tag1[j]; // set it to a char (there is an
// assignment from char to string,
// even if there's no constructor
или
string base( 1, tag1[j]); // create a string with a single char
Или, как Джош упомянул , вы можете определить base
как char
, так как вы все равно не выполняете никаких строковых операций над ним. Если вы решите сделать это, вам нужно изменить DNA
на vector<char>
(и изменить инициализацию DNA
на использование символов вместо строк).