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

Как можно явно вызвать оператор преобразования? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Классы - что это? http://www.cyberforum.ru/cpp-beginners/thread1235267.html
Что такое классы? Зачем они нужны? И как их использовать?
C++ Вызов стороннего приложения без полного пути Всем доброго времени суток! Подсобите в следующем вопросе пожалуйста: Язык C++ среда разработки Visual Studio 2012, мне требуется запустить стороннее приложение (.exe) с параметрами, аналогия со строкой cmd : lspl-find.exe -i arg1 -p arg2 -o arg 3 arg4, перерыл кучу инфы по этому поводу, нашел множество функций выполняющих данную задачу (spawnl, execl, ShellExecute, CreateProcess, ...), однако,... http://www.cyberforum.ru/cpp-beginners/thread1235245.html
C++ Неопределенная ссылка при многофайловой реализации шаблона
Здравствуйте уважаемые форумчане. И снова я что то делаю не так. Есть 3 файла main.cpp - сама программа, Larray.h - объявление класса, Larray.cpp - собственно сам класс. Larray.h #ifndef LARRAY_H_ #define LARRAY_H_ #include <iostream>
C++ Как отключить автоматическое добавление "_" "@" "number" к имени экстернального метода?
Здраствуйте! Подскажите как это делается? (вопрос в названии темы) среда : VS2013 проект компилируется в dll файл в начале обьявил: #include "stdafx.h" #include <windows.h> #include <stdio.h> #include <conio.h>
C++ Каков современный подход для работы со строками http://www.cyberforum.ru/cpp-beginners/thread1235220.html
Здравствуйте, хотел узнать современный подход для работы со строками. В С++ так же используется библиотека #include <string>, а методы для копирования и сравнивания типа strcmp(...) и strcpy()?
C++ По Лафору пример, программа останавливается на строке delete[] name; #include <iostream> #include <cstring> char *getname(void); using namespace std; int main() { char *name = getname(); cout << name << endl; подробнее

Показать сообщение отдельно
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
28.07.2014, 13:36     Как можно явно вызвать оператор преобразования?
вот кстати
A specialization of a conversion function template is referenced in the same way as a non-template conversion
function that converts to the same type. [
Example:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct A {
template <class T> operator T*();
};
template <class T> A::operator T*(){ return 0; }
template <> A::operator char*(){ return 0; }
// specialization
template A::operator void*();
// explicit instantiation
int main() {
A a;
int *ip;
ip = a.operator int*();
// explicit call to template operator
//
A::operator int*()
}

end example
] [
Note:
Because the explicit template argument list follows the function template name,
and because conversion member function templates and constructor member function templates are called
without using a function name, there is no way to provide an explicit template argument list for these
function templates.
—end note

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