Xcode로 뭔지 모르지만 원인 불명한 오류가 대량으로 나온다
Xcode로 인해 알 수없는 Expected ~~~ 오류가 발생합니다.
이것을 읽고 해결할 수 있는 사람
환경
macOS: 1.14.2
Xcode : 10.1 (이 문제 자체는 이전부터 있었던 모양)
TL;DR
어떤 곳에서 나왔는지
Looper.hpp
class Looper final {
public:
Looper();
bool loop() const; //Expected Expression
};
Looper.cpp
// 前略
bool Looper::loop() const {
return true; //Expected Expression
}
SystemMain.hpp
class SystemMain final {
public:
SystemMain() = default;;
bool init();
bool main();
bool exit();
};
//この行でExpected unqualified-id
Define.cpp
class Define final {
public:
const static int WINDOW_W;
const static int WINDOW_H;
const static double PI; //Expected member name or ';' after declaration specifiers
};
고찰
-> 전각 공간 이외의 보이지 않는 문자
-> 제어 문자?
검증
문제의 부분을 바이너리 에디터로 봐
Define.hpp
00000100 20 20 20 20 0a 20 20 20 20 63 6f 6e 73 74 20 73 | . const s|
00000110 74 61 74 69 63 20 64 6f 75 62 6c 65 20 13 50 49 |tatic double .PI|
00000120 3b 0a 7d 3b 0a 0a 0a 23 65 6e 64 69 66 20 2f 2a |;.};...#endif /*|
SystemMain.hpp
00000120 65 78 69 74 28 29 3b 0a 7d 3b 0a 13 0a 23 65 6e |exit();.};...#en|
뭔가 Define.hpp의
0x11D
그리고 SystemMain.hpp의 0x12B
입력하지 않아 0x13
Ascii 코드 표에서 확인해 보면| 0x13 | DC3(장치 제어 3) |
...왜?
원인
Xcode ascii 0x13
어쨌든 구구 해봐도 정보가 없다,하지만 문득 생각했는데, 언제나 Emacs를 사용하기 때문에 잘못 C-x s를하고 있습니다 ...
-> 입력하면 거기에 0x13이 삽입되는지 확인
-> 뭔가 모르지만 Xcode는 c-x를하면 0x13이 삽입되어 버리는 모양
해결책
Preference -> KeyBindings를 살펴보면
이런 것을 발견, 아마 Xcode에서 Mark Yank를 하기 위해 내부적으로 0x13을 넣고 있다고 생각된다(요출전)
어차피 이것은 사용하지 않기 때문에 무효화하고, 지금 있는 0x13을 지우는 것과 같은 문제는 발생하지 않게 되었다
Xcode에서도 완벽하게 Emacs의 키 바인딩을 사용하고 싶습니다 ....
Reference
이 문제에 관하여(Xcode로 뭔지 모르지만 원인 불명한 오류가 대량으로 나온다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Hiragi-GKUTH/items/6bdaf3056b1afd81ee8a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)