gpt4 book ai didi

c++ - 从命令行而非 Xcode 编译时为 "error: expected expression"

转载 作者:太空宇宙 更新时间:2023-11-04 13:25:46 26 4
gpt4 key购买 nike

我分别使用 clang++ (700.1.76) 和 Xcode 7.1 编译了以下代码片段。

#include <iostream>
#include <string>

using namespace std;

class Point {
private:
int x;
int y;
public:
Point(int x1 = 0, int y1 = 0) {
x = x1;
y = y1;
}
string display() {
return "(" + to_string(x) + ", " + to_string(y) + ")";
}
};

class Shape {
private:
Point bottomLeft;
Point upperRight;
public:
Shape(Point bottomLeft1, Point upperRight1) {
bottomLeft = bottomLeft1;
upperRight = upperRight1;
}
Point getBottomLeft() {
return bottomLeft;
}
};

int main(int argc, char const *argv[]) {
Point p1(1, 2);
Point p2(3, 4);
Shape s1(p1, p2);
Shape s2({1, 2}, {3, 4});
cout << s1.getBottomLeft().display() << endl;
cout << s2.getBottomLeft().display() << endl;
return 0;
}

在 Xcode 中,我得到了预期的输出

(2, 1)
(2, 1)

但是使用clang++,程序编译失败并抛出这个错误:

test.cpp:38:11: error: expected expression
Shape s2({1, 2}, {3, 4});
^

(对于 {3, 4} 也会重复同样的错误。)

这是怎么回事?

最佳答案

调用clang++时需要指定语言标准

显然,c++11 之上的任何东西都可以。

关于c++ - 从命令行而非 Xcode 编译时为 "error: expected expression",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33419141/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com