본문 바로가기

Error7

[Error,C++]Expression must be a modifiable lvalue 해결법 코딩하다 "Expression must be a modifiable lvalue" 오류가 가끔 뜬다. 직역하면 "표현식은 수정할 수 있는 lvaue이어야만 한다."라는 뜻이다. 여기까지 찾아왔다면 무슨 소리인가??? 무엇을 잘 못 썼다는 말인 거 같은데 난 잘 못 쓴 게 없다는 분들이 대다수라 생각한다. 하지만 결론적으로 잘못 쓰셨다. 표현식을 하나하나 찬찬히 뜯어보시길 바란다. 저 또한 같은 생각을 했고 다시 실수하지 않기 위해 이글을 쓴다.. 그래도 여기서 바로 알고싶다는 분들을 위해 stackoverflow에 있는 사례를 하나 들겠다. int M = 3; int C = 5; int match = 3; for ( int k =0; k < C; k ++ ) { match --; if ( match ==.. 2020. 5. 25.
[Error, VS] E0077 이 선언에는 저장소 클래스 또는 형식 지정자가 없습니다. Visual studio를 사용하다 "E0077 이 선언에는 저장소 클래스 또는 형식 지정자가 없습니다. "와 같은 오류가 발생하는 경우가 있다. 구글 신께 물어보니 코드상에서 사용하려는 클래스 또는 타입들을 컴파일러가 인식할 수 없다는 의미이다. 헤더 파일 including 문제이므로 경로 설정이 올바르게 되었는지 확인해야 할 것이다. 라고 답변을 하는데 나 같은 경우에는 헤더파일 문제가 아니었다. 원인을 파악해보니 코드를 인터넷에서 복붙 하는 경우 VS가 인식할 수 없는 특수문자가 포함되는 경우가 있다. 이 경우 오류가 나는 위쪽 코드를 Error가 없어질 때까지 지웠다가 다시 타이핑해보길 바란다. 2019. 9. 23.
[Error, VS] C1001 컴파일러에서 내부 오류가 발생했습니다. syntax 에러도 아닌 흔치않은 컴파일러 오류라서 포스팅한다. 해결법은 간단하다. 다시 빌드 버튼을 눌러 다시 빌드해주면 된다. 윗 사진을 참고하기 바란다. 2019. 9. 23.
[Error,C++] void value not ignored as it ought to be "void value not ignored as it ought to be" PS를 하다 위와 같은 에러를 접한적이 있다. 다른 에러는 해석하면 알 수 있는 에러라 쉽게 어떠한 에러인지 알 수 있지만 위의 에러는 해석을 하자면 "void 값은 그것이 해야하는 것처럼 무시되지 않는다"???? 한번에 와닺지가 않는다. 그래서 검색을 해본 결과! 정의한 함수중에 void로 리턴형을 지정한 함수를 리턴형이 있는 것처럼 사용했을 때 나타나는 오류임을 확인할 수 있었다. 예시 코드를 아래에 첨부한다. 1 2 3 4 5 6 7 #include void num(){ printf("리턴값이 없는 함수입니다."); } main(){ int a=num(); } cs 함수의 리턴형을 void가 아닌 다른 형식으로 바꾸어주던가.. 2019. 4. 23.
[Error, Git Desktop] Commit failed - exit code 128 received, with output: '*** Please tell me who you are. 이제 나도 git를 작성한 코드를 체계적으로 관리하기 위해 github desktop을 깔아서 Commit을 하려는 순간! 위와 같은 오류가 떳다... 대충 느낌으론 권한이 필요하다는 거 같은데 뭘 어떻게 해야하는지 알려줘... ㅜㅜ구글신님께 물어보니 github desktop 상단에 File 탭 options에서 Git 탭에서 이름과 이메일을 입력하고 저장시켜주고 다시 commit을 누르면 된다~나는 이미 입력이 되어있었는데 그래도 다시한번 save를 누르니 정상적으로 진행되었다! 2019. 3. 8.
[Error, VS] "const char *" 형식의 값을 사용하여 "char *" 형식의 엔터티를 초기화할 수 없습니다. 1 char* window_name = "Threshold Demo"; cs 위와 같은 코드가 비주얼 스튜디오 2015에서는 잘 되는데 2017부터는 오류가 발생한다. 해결책은 1. 아래와 같이 const를 붙이거나 1 const char* window_name="Threshold Demo"; cs 2. 프로젝트 > 속성 > C/C++ > 언어 > 준수모드 > 아니오 로 변경해주는 방법이다. 좀 구체적으로 이유를 찾아보니 비주얼 스튜디오에는 속성에 준수모드라는게 있는데 이게 2017부터 기본적으로 "예(/permissive-)" 상태로 설정되어 있기 때문이다. 위의 준수모드를 아니오로 바꾸고 적용해주면 문제없이 실행된다. 2018. 12. 28.
[Error, Python] SyntaxError: Missing parentheses in call to 'print' 파이썬3에서 파일을 실행하면 발생하는 오류 중 하나인 SyntaxError: Missing parentheses in call to 'print' 에 대해 알아보자. 알아보니 12345678 try: import roslib; roslib.load_manifest("bag2video") from cv_bridge import CvBridge except: print "Could not find ROS package: cv_bridge" print "If ROS version is pre-Groovy, try putting this package in ROS_PACKAGE_PATH" sys.exit(1) Colored by Color Scriptercs print "Could not find ROS pac.. 2018. 7. 13.