В настоящее время я изучаю C ++, выполняю код в Mac / XCode, и когда я сегодня делал лямбда-выражение, я продолжаю получать сообщение об ошибке для моего файла D7_Listing7_12. cpp
D7_Listing7_12.cpp:17:14: error: expected expression
[](int Element) {cout << Element << " " << endl;});
^
D7_Listing7_12.cpp:33:11: error: expected expression
[](int Num1, int Num2) {return (Num2 < Num1); } );
^
Вот как я определяю эти два лямбда-ввода:
for_each(dynArr.begin(), dynArr.end(),\
[](int Element) {cout << Element << " ";});
и
sort (myNums.begin(), myNums.end(),
[](int Num1, int Num2) {return (Num2 < Num1); } );
Я пытался найти довольно много ответов в Интернете, некоторые говорили, что это проблема для ma c Xcode clang, поскольку он не использует C ++ 11, но некоторые другие люди сказали, что большинство современных Xcode должны работать с C ++ 11 по умолчанию. Теперь я в замешательстве: (
Я также запустил это в своем терминале:
llvm-gcc --version
вот результат:
Apple LLVM version 10.0.0 (clang-1000.10.44.4)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Я все еще довольно новичок в Xcode и C ++, кто-нибудь может мне помочь или дать подсказку?
Большое спасибо
Кэти