fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template<class T>
  5. class mnl{
  6. private:
  7. T **mt;
  8. int l1;
  9. int l2;
  10.  
  11. public:
  12. mnl(int n1,int n2){
  13. l1=n1;
  14. l2=n2;
  15. mt=new T**[l1];
  16.  
  17. int i;
  18.  
  19. for(i=0;i<l1;i++){
  20.  
  21. mt[i]=new T*[l2];
  22.  
  23. }
  24.  
  25.  
  26.  
  27. }
  28.  
  29. void cm();
  30. void sm();
  31.  
  32.  
  33.  
  34. };
  35.  
  36.  
  37.  
  38.  
  39.  
  40. int main() {
  41.  
  42. mnl <int>mn(4,5);
  43.  
  44. mn.cm();
  45. mn.sm();
  46.  
  47.  
  48.  
  49. return 0;
  50. }
  51.  
  52.  
  53.  
  54. template<class T>
  55. void mnl<T>::cm(){
  56.  
  57. int i,i2;
  58.  
  59. for(i=0;i<l1;i++){
  60.  
  61. for(i2=0;i2<l2;i2++){
  62.  
  63. cout<<"Scrivi il numero\n";
  64.  
  65. cin>>mt[i][i2];
  66.  
  67.  
  68. }
  69.  
  70.  
  71.  
  72. }
  73.  
  74.  
  75. }
  76.  
  77.  
  78.  
  79. template<class T>
  80. void mnl<T>::sm(){
  81.  
  82. int i,i2;
  83.  
  84. for(i=0;i<l1;i++){
  85.  
  86. for(i2=0;i2<l2;i2++){
  87.  
  88. cout<<mt[i][i2]<<" ";
  89.  
  90.  
  91. }
  92.  
  93. cout<<"\n";
  94.  
  95. }
  96.  
  97.  
  98.  
  99. }
  100.  
  101.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
compilation info
prog.cpp: In instantiation of ‘mnl<T>::mnl(int, int) [with T = int]’:
prog.cpp:42:17:   required from here
prog.cpp:15:5: error: cannot convert ‘int***’ to ‘int**’ in assignment
   mt=new T**[l1];
   ~~^~~~~~~~~~~~
prog.cpp:21:9: error: cannot convert ‘int**’ to ‘int*’ in assignment
    mt[i]=new T*[l2];
    ~~~~~^~~~~~~~~~~
stdout
Standard output is empty