0
  1. 以下のコードでは、「デフォルトのコンストラクターがありません」というエラーメッセージが表示されました。そのため、均一な初期化子を使用できません。

  2. デフォルトのコンストラクターを作成すると、中かっこに関するエラーが発生しました。

このプログラムと均一な初期化子に関する問題を強調してください。

VS 2012 と C++ を使用しています

class Circle {

    double radius;
  public:

    Circle(double r) { radius = r; }
    double circum() {return 2*radius*3.14159265;}
    Circle () {
    cout<<"ALI \n ";
    }
};

int main () {

  Circle baz {30.0};   // uniform init.

  Circle qux{};
  cout << "foo's circumference: " << baz.circum() << '\n';
  cout<<endl;
  return 0;
}
4

2 に答える 2

4
  • Visual Studio 2012 は、統一された初期化構文をサポートしていません。
  • Visual Studio 2013 はこのコードをサポートしています。ここで確認できます: Visual Studio 2013 Build
于 2014-03-29T20:00:15.797 に答える