powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / проблема с шаблонной ф-цией
4 сообщений из 4, страница 1 из 1
проблема с шаблонной ф-цией
    #33698941
sc1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sc1
Гость
есть такой код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
#include <iostream>
#include <string>

struct A{
	std::string Name(){return "A"; }
};

struct B{
	std::string Name(){return "B"; }
};

template<class F>
void PrintName()
{
	F f;
	std::cout << f.Name().c_str() << std::endl;
}

int main(int argc, char* argv[])
{
	PrintName<A>();
	PrintName<B>();
	return  0 ;
}

Выводит:
B
B

А хочется:
A
B

компил. VC++6.0. В чем проблема, никак не пойму?
...
Рейтинг: 0 / 0
проблема с шаблонной ф-цией
    #33698970
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему не работает не знаю ошибка компилятора наверно но можно так подправить

template<class F>
F PrintName()
{
F f;
std::cout << f.Name().c_str() << std::endl;
return f;
}

Заработает !
...
Рейтинг: 0 / 0
проблема с шаблонной ф-цией
    #33698981
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(Добавление) В gcc первый код работает правильно . Выдает A B без переделывания
...
Рейтинг: 0 / 0
проблема с шаблонной ф-цией
    #33698998
sc1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sc1
Гость
cap83Почему не работает не знаю ошибка компилятора наверно но можно так подправить

template<class F>
F PrintName()
{
F f;
std::cout << f.Name().c_str() << std::endl;
return f;
}

Заработает !
Спасибо, то что надо. В реальном коде ф-ция должна возвращать bool,
так что я немного переделал
Код: plaintext
1.
2.
3.
4.
5.
6.
template<class F>
F* PrintName()
{
	F f;
	std::cout << f.Name().c_str() << std::endl;
	return reinterpret_cast<F*>( 1 );
}
Насчет ошибки точно, VC6, но в 7 уже нет.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / проблема с шаблонной ф-цией
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]