Xcode 7.3和C ++ 11支持

时间:2016-04-17 17:09:15

标签: c++ xcode c++11

我一直在试用cplusplus.com的C ++ Tutorial中的一些例子,我偶然发现了这段代码:

// pointer to classes example
#include <iostream>
using namespace std;

class Rectangle {
    int width, height;
public:
    Rectangle(int x, int y) : width(x), height(y) {}
    int area(void) { return width * height; }
};


int main() {
    Rectangle obj (3, 4);
    Rectangle * foo, * bar, * baz;
    foo = &obj;
    bar = new Rectangle (5, 6);
    baz = new Rectangle[2] { {2,5}, {3,6} };
    cout << "obj's area: " << obj.area() << '\n';
    cout << "*foo's area: " << foo->area() << '\n';
    cout << "*bar's area: " << bar->area() << '\n';
    cout << "baz[0]'s area:" << baz[0].area() << '\n';
    cout << "baz[1]'s area:" << baz[1].area() << '\n';
    delete bar;
    delete[] baz;
    return 0;
}

当我尝试使用Xcode 7.3运行它时,我总是收到错误:

No matching constructor for initialization of 'Rectangle'

参考这行代码:

baz = new Rectangle[2] { {2,5}, {3,6} };

基于我在网上找到的内容,C ++ 11及更高版本支持“new []”的这种用法。问题是我的项目是为使用这个标准而设置的。

enter image description here

我已尝试过“C ++语言方言”和“C ++标准库”的所有可能选项 - 无济于事。

我非常感谢任何帮助。

0 个答案:

没有答案