JavaクラスをC++に変換しようとしていますが、オブジェクトに関するエラーやポインタの誤解の可能性があります。次のようにJavaメソッドは次のとおりです。JavaをC++に翻訳する:誤解ポインタ
public SimpleDate daysFromNow(int n) throws IllegalArgumentException {
if (n == 0) {
return new SimpleDate(month,day,year);
}
SimpleDate date;
if (n < 0) {
throw new IllegalArgumentException ("n can't be negative");
} else {
date = nextDate();
for (int i = 1; i < n; i++) {
date = date.nextDate();
}
}
if (date.getYear() < MIN_YEAR)
throw new IllegalArgumentException("Resulting date is before "
+ "1/1/1753");
return date;
}
これは私がしかし、これは明らかにあなたがnullのオブジェクトをインスタンス化することはできません++なぜならCには動作しませんC++
SimpleDate SimpleDate::daysFromNow(int n) {
if (n == 0) {
return SimpleDate(getMonth(), getDay(), getYear());
}
SimpleDate date;
if(n < 0){
throw std::invalid_argument("n can't be negative");
}
else {
date = nextDate();
for(int i = 1; i<n;i++){
date = date.nextDate();
}
}
if(date.getYear() < MIN_YEAR){
throw std::invalid_argument("Resulting date is before 1/1/1753");
return date;
}
}
にそれを翻訳してきた方法です。私はこのコードをJavaから正しく翻訳する方法について、誰かが正しい方向を教えてくれますか?ありがとうございました。
編集:SimpleDateコンストラクターに3つの引数が必要なため、エラーは発生しません。コンパイルできません。私は後に()を追加する場合は、オブジェクトのインスタンス化ライン上のエラーが表示されなくなりますが、その後私が言うとき:
何が結果になりましたか? – muasif80
何か問題がありますか?説明にそのエラーを追加してください。 – muasif80