#c
#c
Вопрос:
вот мой код, который записывает столбец j доски t на другой вкладке доски! Я новичок, поэтому я не понимаю проблемы: (
vector<string> colonne(vector<vector<string>> t, int j) {
vector<vector<string>>tab;
for(int i=0; i<t.size(); i ){
for(int n=0; n<=j; n ){
if(n == j){
tab[n]=t[j];
}
}
}
return tab;
}
вот сообщение с терминала:
error: could not convert 'tab' from 'vector<std::vector<std::__cxx11::basic_string<char> >>' to 'vector<std::__cxx11::basic_string<char>>'
Комментарии:
1. если кто-нибудь может мне помочь…
2. A
vector<vector<string>>
— это не то же самое, что avector<string>
. Ваш возвращаемый типvector<string>
. Я склонен закрыть этот вопрос как опечатку.3. Этот код имеет множество проблем. Трудно понять, как предложить решение
Ответ №1:
Ваш код имеет множество проблем. Я думаю (основываясь на вашем описании), что код, который вы пытаетесь написать, это
vector<vector<string>> colonne(vector<vector<string>> t, int j) {
vector<vector<string>> tab(t.size());
tab[j]=t[j];
return tab;
}
Приведенный выше код создает новую доску tab
с тем же количеством столбцов, что и первая доска. Затем он копирует один столбец (с индексом j
) с первой доски на вторую доску, а затем возвращает вторую доску.
Обратите внимание, однако, что все остальные столбцы в новой таблице будут иметь нулевой размер. Мне это кажется странным, но, возможно, это то, что вы хотите. Если нет, то дайте мне знать, и я постараюсь внести улучшения.