fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template<class T>
  5. class vnc{
  6. private:
  7. T *pv;
  8. int lv;
  9.  
  10. public:
  11. vnc(int l){
  12.  
  13. lv=l;
  14. pv=new T [lv];
  15.  
  16. }
  17.  
  18. void cv();
  19. void sv();
  20.  
  21. ~vnc(){
  22.  
  23. delete [] pv;
  24.  
  25. }
  26.  
  27.  
  28.  
  29.  
  30. };
  31.  
  32. template<>
  33. class vnc<char>{
  34.  
  35. private:
  36. char *pc;
  37. int lv;
  38.  
  39. public:
  40. vnc(int l){
  41.  
  42. lv=l;
  43. pc=new char [lv];
  44.  
  45. }
  46.  
  47. void cs();
  48.  
  49.  
  50.  
  51. };
  52.  
  53.  
  54.  
  55. int main() {
  56.  
  57. vnc <float>oggv(5);
  58.  
  59. oggv.cv();
  60. oggv.sv();
  61.  
  62.  
  63.  
  64. return 0;
  65. }
  66.  
  67. template<class T>
  68. void vnc<T>::cv(){
  69.  
  70. int i;
  71.  
  72. for(i=0;i<lv;i++){
  73.  
  74. cout<<"Scrivi il numero\n";
  75. cin>>pv[i];
  76.  
  77.  
  78. }
  79.  
  80.  
  81. }
  82.  
  83. template<class T>
  84. void vnc<T>::sv(){
  85.  
  86. int i;
  87.  
  88. for(i=0;i<lv;i++){
  89.  
  90. cout<<pv[i]<<" ";
  91.  
  92. }
  93.  
  94.  
  95.  
  96. }
  97. template<>
  98. void vnc<>::cs(){
  99.  
  100. cout<<"Scrivi la stringa\n";
  101. cin>>pc;
  102.  
  103.  
  104. }
  105.  
  106.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
100
200.85
300
400.2
500
compilation info
prog.cpp:98:10: error: wrong number of template arguments (0, should be 1)
 void vnc<>::cs(){
          ^
prog.cpp:5:7: note: provided for ‘template<class T> class vnc’
 class vnc{
       ^~~
prog.cpp:98:16: error: ‘cs’ is not a template function
 void vnc<>::cs(){
                ^
stdout
Standard output is empty