Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как создать двухмерный вектор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему значение tellg() не изменяется? http://www.cyberforum.ru/cpp-beginners/thread157519.html
Следующий код: #include <iostream> #include <fstream> using namespace std; void main() { ifstream file;
C++ Шифрование строки по паролю В продолжение этой темы. Всем привет. Выбрал время для дальнейших поползновений в неблагодарном деле изучения C++ :) Ну и очередной затык. Никак не могу усвоить работу с типами данных. Вот до... http://www.cyberforum.ru/cpp-beginners/thread157509.html
C++ Не пойму как работает класс
Hi all Не пойму как работает пример #include <stdafx.h> #include <conio.h> using namespace std; class String { public: char* ptr; String(char* s){ int n = strlen(s);
Начинаю изучать C/C++ C++
Здравствуйте. Вот решил изучать C/C++, подскажите какой лучше из них, какой литературы пользоваться и какой компилятор, среда программирования выбрать. Я в этом языке полный ноль. Спасибо!
C++ Использование нововведений C++0x http://www.cyberforum.ru/cpp-beginners/thread157452.html
Красиво на самом деле... Вопрос, есть-ли резон использовать так, или новый стандарт стоит использовать в меру? #include <iostream> template <typename T> T Sum(T n, T m) { return n+m; }
C++ Повтор случайного числа в строке матрицы #include <iostream> #include <ctime> using namespace std; int main() { const int COLUMN = 8; const int ROW = 22; int matrix; srand(time (NULL)); подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
27.11.2011, 15:40
Цитата Сообщение от Chelioss Посмотреть сообщение
В итоге получается одно и тоже.
и это очень, очень странно. У меня, к примеру, вот такой код:
C++
1
2
3
4
5
6
7
#include <iostream>
#include <vector>
 
int main()
{
    std::vector<std::vector<int> > matr(2, 3);
}
выдает такие ошибки при компиляции:
Код
-*- mode: compilation; default-directory: "/home/nameless/samples/cpp/" -*-
Compilation started at Sun Nov 27 21:37:34

make -j8
g++ -c -Wall -g -std=c++0x  main.cc
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../include/c++/4.6.1/vector:65:0,
                 from main.cc:2:
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../include/c++/4.6.1/bits/stl_vector.h: В функции-члене «void std::vector<_Tp, _Alloc>::_M_initialize_dispatch(_Integer, _Integer, std::__true_type) [with _Integer = int, _Tp = std::vector<int>, _Alloc = std::allocator<std::vector<int> >]»:
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../include/c++/4.6.1/bits/stl_vector.h:340:4:   instantiated from «std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = int, _Tp = std::vector<int>, _Alloc = std::allocator<std::vector<int> >, std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::vector<int> >]»
main.cc:6:45:   instantiated from here
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../include/c++/4.6.1/bits/stl_vector.h:1080:4: ошибка: нет подходящей функции для вызова «std::vector<std::vector<int> >::_M_fill_initialize(std::vector<std::vector<int> >::size_type, int&)»
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../include/c++/4.6.1/bits/stl_vector.h:1080:4: замечание: candidate is:
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../include/c++/4.6.1/bits/stl_vector.h:1122:7: замечание: void std::vector<_Tp, _Alloc>::_M_fill_initialize(std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = std::vector<int>, _Alloc = std::allocator<std::vector<int> >, std::vector<_Tp, _Alloc>::size_type = long unsigned int, std::vector<_Tp, _Alloc>::value_type = std::vector<int>]
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../include/c++/4.6.1/bits/stl_vector.h:1122:7: замечание:   no known conversion for argument 2 from «int» to «const value_type& {aka const std::vector<int>&}»
make: *** [main.o] Ошибка 1

Compilation exited abnormally with code 2 at Sun Nov 27 21:37:34
и это не удивительно, т.к. такая перегрузка конструктора принимает в качестве первого аргумента число элементов вектора, а в качестве второго - значение, которым эти элементы будут инициализироваться. Т.е. получается, что у нас вектор векторов типа int, но мы при создаем три элемента, которые инициализируются значением 3
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru