![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Jongler |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.4.2006 Репутация: нет Всего: нет |
Доброго времени суток всем кого заинтересовала моя тема.
Неожиданно получил error. Хотел создать вектор со структурами в качестве элементов ( по моему вполне законно) на что получил грубый отказ отладчика. Поискал в умных книжках, и(у Б.Страуструпа стр88) нашел похожий пример:
на который отладчик ругается неменьше(красная строка). Пробовал в MVisual C++ и Borland C++ Builder(пишет: teamplate can't have static or local linkage) вообщем хочется разобраться что к чему. Заранее благодарю. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Jongler, покажи свой код и минимальное приложение которое не компилируется.
P.S. отладчик то тут вообще причем? |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
А там пробел не нужен случайно?
|
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
судяпо всему struct Entry - тип локальный, а такой нельзя использовать в качестве аргумента шаблона.
error C2926: : types with no linkage cannot be used as template arguments Это сообщение отредактировал(а) Fazil6 - 30.10.2006, 21:42 |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Следующий код скомпилился без проблем на Code::Blocks 1.0 Build 23102006 Не понял пред. пост... Чем тип Entry не подходит для шаблона?... |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
скомпиллируй вот это |
|||
|
||||
| Олег2005 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: нет Всего: 11 |
#include <string>
#include <vector> using namespace std; |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Fazil6 имел в виду это:
Это и приводит к указанной выше ошибке. Объявление структуры должно быть вне тела функции, если она используется для конкретизации шаблона. Это сообщение отредактировал(а) bsa - 31.10.2006, 00:28 |
|||
|
||||
| Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 6 Всего: 29 |
||||
|
||||
| Jongler |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.4.2006 Репутация: нет Всего: нет |
Спасибо всем кто хотел помочь
действительно обьявление структуры до функции помогло Это сообщение отредактировал(а) Jongler - 31.10.2006, 02:10 |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Jongler, #include "stdafx.h" - потом идёт программа (другие инклюды и сам код). ;)
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 6 Всего: 29 |
||||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Damarus,
Jongler, изменил пост пока я писал было
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Jongler |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.4.2006 Репутация: нет Всего: нет |
archimed7592, извиняй
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |