|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<iostream>
- #include<string>
- #include<valarray>
- // 一个包含两个参数的类模板
- template<typename T1 , typename T2>
- class My_Pair
- {
- private:
- T1 a;
- T2 b;
- public:
- My_Pair(T1 & avar , T2 & bvar) : a(avar) , b(bvar) {} // 构造函数
- My_Pair();
- // 返回成员类型的引用 能够通过赋值重新设置存储的值
- T1 & First() { return a; }
- T2 & Second() { return b; }
- T1 First() const { return a; }
- T2 Second() const { return b; }
- };
- typedef std::valarray<int> IntArray;
- typedef My_Pair<IntArray , IntArray> PairArray;
- // 一个显示葡萄酒名称 年份 和该年生成的瓶数的类
- class Wine
- {
- private:
- PairArray W_pai; // 用于存储葡萄酒年份和瓶数的对象
- std::string W_name; // 葡萄酒的名字
- public:
- // 构造函数
- Wine(const char & str , const int w_year[] , const int w_bot[] , int n);
- };
- int main()
- {
- return 0;
- }
- Wine::Wine(const char & str , const int w_year[] , const int w_bot[] , int n)
- {
- IntArray A(w_year , n); // 这里初始化报错了 求大神告知这里应该怎么初始化 想了半天也没有想出怎么初始化
- IntArray B(w_bot , n);
-
- W_pai = PairArray(A , B);
- W_name = str;
- }
复制代码
报错内容
|| undefined reference to `My_Pair<std::valarray<int>, std::valarray<int> >::My_Pair()'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
你的My_Pair()没有函数实现。但你 这里又隐式调用了它的默认构造函数
|
|