Как передать в функцию вектор?

289
15 декабря 2016, 16:15

Вот попытался передать у функцию вектор - код не работает.

#include <iostream>
#include <iomanip>
#include <vector>
#include <iterator>
#include <algorithm>    
void f(const vector< vector<int> >int& k)
{
    for(int i=0;i<k.size();++i)
    {
        for(int j=0;j<k.size();++j)
        {
            cout<<k[i][j];
        }
        cout<<endl;
    }
}
void main()
{
    int n=5;int m=5;
    vector < vector <int> >v(n,vector <int> (m));
    for(int i=0;i<n;++i)
    {
        for(int j=0;j<m;++j)
        {
            v[i][j]=rand()%200-10;
        }
    }
    f(v);
}
Answer 1

Начни с простого:

  1. Определи вектор, который хранит скалярные значения -- минимальное изменение в программе: использовать std::vector<int> v; вместо vector<int> v; или using namespace std; (только для примера).
  2. Можно использовать шаблон или алиасы, чтобы не повторять ручками определение типа вектора: template<class Container> void f(const Container& container);. Если удалось передать простой вектор (1D), то можно к следующему шагу перейти.
  3. Найти существующий или спросить отдельный вопрос о том, как правильно использовать вектор, чтобы хранить двухмерные 2D данные.
READ ALSO
Отсутствует MSVCP110.dll

Отсутствует MSVCP110.dll

Как создатьexe файл так, чтобы он содержал в себе все нужные для его работы библиотеки?

305
Функция copyfile() в mac os возвращает ошибку &ldquo;Not a directory&rdquo;

Функция copyfile() в mac os возвращает ошибку “Not a directory”

Доброго времени суток, уважаемые форумчане! Помогите, пожалуйста разобраться в том, как работает функцияПочитала документацию на Apple Developer,...

257
Сырые сокеты в Windows 7

Сырые сокеты в Windows 7

Доброго времени суток

306
OpenCVSharp: определение контуров

OpenCVSharp: определение контуров

Доброго времени суток!

336