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

О специализации шаблона: почему код компилируется? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ "Защита от дурака" числа с плавающей запятой http://www.cyberforum.ru/cpp-beginners/thread927140.html
Какие есть способы для защиты от ввода чисел с плавающей точкой(запятой) ?
C++ Visual studio не пашет Постоянные проблемы с этим компилятором. Даже следующий код он может откомпилировать нормально, а когда на следующий день ты пишешь его в другой программе, то он не пашет Бывает пишу программу, постоянно выдает ошибки компилятор, потом я беру, создаю проект заново, и все норм. Что за фигня? Пример кода, который вчера работал, а сегодня компилятору он не нравится: #include "stdafx.h"... http://www.cyberforum.ru/cpp-beginners/thread927137.html
Почемуто всеравно выходить true = 1 C++
#include <iostream> using namespace std; int main() { bool boolean = 260; if (boolean){ cout <<"true = "<<boolean<<endl; } else{
C++ как понять Диапазон принимаемых значений?
Помогите пожалуйста я не могу понять слово Диапазон принимаемых значений! Заранее Спасибо!
C++ Решето Эратосфена http://www.cyberforum.ru/cpp-beginners/thread927090.html
В решете эратосфена из книги в условии есть непонятная вещь: if (i * 1ll * i <= n) - возле единицы для непонятных знака, на форуме они почти такие как ||, но в visual studio они похожи на единицы. Заменил на единицы, алгоритм перестал правильно работать, что это за знаки?. А вот и вся программа: #include<iomanip> #include<iostream> #include<vector> #include<fstream> using namespace std; ...
C++ не считает простых формул есть задание нужно прочитать бесконечно определенные формулы. код написал но он не считает почему то немугу разобраться... int main(){ int D=50, R=200, V=194, xs=0, ys=0, t=0; float a1,a2,x,y; for(t;t<=60;t++) { a1=atan(D/R); a2=atan(D/(R-V*t)); x=xs+((V*t*tan(a2))/(tan(a2)-tan(a1))); подробнее

Показать сообщение отдельно
DrOffset
6458 / 3832 / 885
Регистрация: 30.01.2014
Сообщений: 6,627
18.09.2014, 22:17     О специализации шаблона: почему код компилируется?
Цитата Сообщение от Gorillych Посмотреть сообщение
Вот эта формулировка меня сильно смутила - может быть я ее неверно понял. Что она означает?
В твоем примере ты не специализировал член класса, ты специализировал весь шаблон. А в книге имелось в виду, что недопустима конструкция вида:
C++
1
2
3
4
5
6
7
8
9
10
template <typename T>
struct A
{
    void foo() {}
 
    int a;
};
 
template <>
double A<double>::a; // как бы специализация переменной класса `а` другим типом.
Однако допустимо специализировать отдельно функции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
template <typename T>
struct A
{
    void foo() {}
 
    int a;
};
 
template <>
void A<double>::foo()
{
}
Именно эта разница и имелась в виду.
 
Текущее время: 07:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru