namespace pairDemo{
template<typename L, typename R>
class pair{
public:
pair(const L& left,const R& right)
:lft(left),rht(right)
{
}
pair(const pair<L,R>& p)
:lft(p.lft),rht(p.rht)
{
}
L left() const{
return lft;
}
R right() const{
return rht;
}
void left(const L& left){
lft = left;
}
void right(const R& right){
rht = right;
}
private:
L lft;
R rht;
};
}
// ------------------------------------------- --------キーワード "const"はどのように機能しますか?
#include "pairTemp.h"
#include <iostream>
using namespace std;
pairDemo::pair<int, double> func(int x, double y){
pairDemo::pair<int, double> temp(x*2, x+y);
return temp;
}
int main(){
int x = 2; double y = 3.55;
pairDemo::pair<int, double> myPair = func(x,y);
cout << myPair.left() << myPair.right();
}
私は、コンストラクタの引数は、私は「CONST」、関数func()を宣言しない場合、エラーを持っているだろうという疑問を持っています。私はなぜ、誰も私を助けることができないdont。
'const'を宣言していない場合は?そして、あなたが得るエラーは...? –
どこでconstを宣言していないのですか?エラーは何ですか?そしてその行はどの行ですか? –
コンストラクタ引数の "const"。私がdelcareをしないと、func()はintをintに変換できないというエラーが発生します。今私は一時的にconstを使うべきであることを知っています。 – titus