zoukankan      html  css  js  c++  java
  • 使用类模板时的一点困惑

     1 #include<string>
     2 #include<iostream>
     3 
     4 using namespace std;
     5 
     6 ///通过嵌套实现元则
     7 template<typename T,typename N>
     8 class my_tuple
     9 {
    10 public:
    11     T value;
    12     N next;
    13     my_tuple(T const &v,N const &n):value(v),next(n){}
    14 };
    15 template<typename T,typename N>
    16 my_tuple<T,N> push(T const &v,N const &n)
    17 {
    18     return my_tuple<T,N>(v,n);
    19 }
    20 int main()
    21 {
    22     typedef my_tuple<int ,char> tuple2;
    23     typedef my_tuple<float,tuple2> tuple3;
    24     typedef my_tuple<std::string,tuple3> tuple4;
    25 
    26     tuple4 tup4 = push(std::string("awesome"),
    27               push(.5f,
    push(2,'a'))); 28 cout<<tup4.value<<"," 29 <<tup4.next.value<","; 30 cout<<tup4.next.next.value<<"," 31 <<tup4.next.next.next<<endl; 32 //此时输出结果为: awesome,0.52,a 33 //奇怪的是逗号少输出了一个 34 //开始我用的输出格式是cout<<tup4.value<<","<<tup4.next.value<","<<tup4.next.next.value<<","<<tup4.next.next.next<<endl; 35 //直接就报错了:test.cpp||error: invalid operands of types 'const char [2]' and 'int' to binary 'operator<<' 36 }

    希望大神们看到了能给出一点提示

  • 相关阅读:
    树剖
    codeforces round 589
    codeforces round 590
    code craft 20
    Ozon Tech Challenge 2020 (Div.1 + Div.2)
    codeforces round 625
    Crime HDU
    codeforces 594
    codeforces 596
    python操作mysql方法和常见问题
  • 原文地址:https://www.cnblogs.com/webary/p/3904897.html
Copyright © 2011-2022 走看看