Форум программистов, компьютерный форум CyberForum.ru

Не работает вектор структур при передачи его в функцию-ошибки - C++

Восстановить пароль Регистрация
 
NewProgrammer:)
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 12
21.12.2011, 19:18     Не работает вектор структур при передачи его в функцию-ошибки #1
Написал такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct lol{
};
#include <vector>
#include <windows>
 
struct smth{
}
 
void smthfun(vector <smth> vctr){
}
 
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hprevinst,LPSTR lpszargs,int nwinmode){
    vector <smth> y;
    smthfun(y);
}
Выскочила ошибка:
error LNK2019: ссылка на неразрешенный внешний символ __imp___CrtDbgReportW в функции "public: struct smth const & __thiscall std::_Vector_const_iterator<class std::_Vector_val<struct smth,class std::allocator<struct smth> > >::operator*(void)const " (??D?$_Vector_const_iterator@V?$_Vector_val@Ulol@@V?$allocator@Usmth@@@std@@@std@@@std@@QBEABUsmth@@XZ)

Что я делаю не так или компилятор ****?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
21.12.2011, 19:54     Не работает вектор структур при передачи его в функцию-ошибки #2
После struct smth {} должна быть точка с запятой. Искренне ваш, К.О.
NewProgrammer:)
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 12
21.12.2011, 21:26  [ТС]     Не работает вектор структур при передачи его в функцию-ошибки #3
В оригинальном коде ; стоит.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <vector>
#include <windows>
 
struct smth{
};
 
void smthfun(vector <smth> vctr){
}
 
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hprevinst,LPSTR lpszargs,int nwinmode){
        vector <smth> y;
        smthfun(y);
}
та же ошибка:

error LNK2019: ссылка на неразрешенный внешний символ __imp___CrtDbgReportW в функции "public: struct smth const & __thiscall std::_Vector_const_iterator<class std::_Vector_val<struct smth,class std::allocator<struct smth> > >::operator*(void)const " (??D?$_Vector_const_iterator@V?$_Vector_val@Usmth@@V?$allocator@Usmth@@@std@@@std @@@std@@QBEABUsmth@@XZ)
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.12.2011, 21:34     Не работает вектор структур при передачи его в функцию-ошибки #4
где using namespace std; ? или почему вектор в коде без std?
или вы что-то не запостили сюда из своего кода, или ... хз
может порядок инклудов играет роль. windows попробйте инклудить первым.
NewProgrammer:)
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 12
21.12.2011, 21:43  [ТС]     Не работает вектор структур при передачи его в функцию-ошибки #5
я упростил свой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <windows.h>
#include <vector>
 
using namespace std;
 
struct smth{
};
 
void smthfun(vector<smth> h){
}
 
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hprevinst,LPSTR lpszargs,int nwinmode){
    vector <smth> y;
    smthfun(y);
}
ошибка:
error LNK2019: ссылка на неразрешенный внешний символ __imp___CrtDbgReportW в функции "public: struct smth const & __thiscall std::_Vector_const_iterator<class std::_Vector_val<struct smth,class std::allocator<struct smth> > >::operator*(void)const " (??D?$_Vector_const_iterator@V?$_Vector_val@Usmth@@V?$allocator@Usmth@@@std@@@std@@@std@@QBEABUsmth@@XZ)

перемена инклюдов роли не сыграла.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.12.2011, 21:50     Не работает вектор структур при передачи его в функцию-ошибки #6
а вы не упрощайте. я же сказал, что вы что-то важное не запостили, посчитав мелочью.
вот у меня это нормально собирается (тоже немног упростил)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <windows.h>
#include <vector>
 
using namespace std;
 
struct smth{
};
 
void smthfun(vector<smth> h){
}
 
//int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hprevinst,LPSTR lpszargs,int nwinmode){
int main()
{
  vector <smth> y;
  smthfun(y);
}
__imp___CrtDbgReportW - что-то с настройками проекта.
c CRT библиотеками химичили?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2011, 22:19     Не работает вектор структур при передачи его в функцию-ошибки
Еще ссылки по теме:

C++ Динамический массив структур (не происходит передачи и некорректно удаляется)
C++ Ошибка, вектор структур
C++ Ошибки преобразования при передаче указателя на функцию

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
NewProgrammer:)
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 12
21.12.2011, 22:19  [ТС]     Не работает вектор структур при передачи его в функцию-ошибки #7
вроде да.Засунул вместо одной из них либ из VC++6.Переустанавливать придётся? где есть вариант не онлайн установщика - некомфортно онлайном как-то?У меня ваш пример не компилится.
Yandex
Объявления
21.12.2011, 22:19     Не работает вектор структур при передачи его в функцию-ошибки
Ответ Создать тему
Опции темы

Текущее время: 00:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru