소개
게시글
질문&답변
1-N 분배법칙 질문
인프런에서 *을 연속해서 쓰면 기울임 처리되어 곱하기를 x로 나타내겠습니다 답변주신 내용에 ret은 이미 %c가 된 상태로 나온다는게 이해가 가질 않습니다. 원래 개념 설명에서는A^B % C 은(A x A x A ... ) % C 인데이렇게 하지 말고(A%C x A%C x A%C x A%C ... ) 해서 A끼리 곱할때 발생할 수 있는 오버 플로우를 없애자는 개념이였습니다. 다시 코드로 돌아와서ret = (ret * ret) % C 하게 되면ret * ret이 먼저 계산되니까결국 A%C * A%C가 아닌(A * A) % C 으로 계산되어 분배법칙이 안쓰인 것이 아닌가요?
- 0
- 3
- 268
질문&답변
질문
배열이 생성되는 시점에서만 초기화가 가능하다 하셨는데 생성자 내부에선(위의 코드) Something() : m_i(1), m_d(3.14), m_c('a'), m_arr{ 1,2,3,4,5 } 이후에 { m_i = 3; m_d = 3.16; m_c = 'c'; m_arr{ 1,2,3,4,5 }; // 에러가 나는 라인 } 밑의 코드는 추가적으로 할당이 일어나서 바뀐다고 들어서 두번 초기화가 된 셈이므로 오류가 난단 말씀이신거같네요 break point 걸어보니 멤버변수를 선언하는 부분에서 초기값을 넣어주는 코드(m_i = 2부분의 m_arr)는 생성자에서 초기화(m_i = 1부분의 m_arr)를 하게되면 실행이 안되니까 두군데에서 선언하는건 문제가 없는데 맨아래 {} 사이(m_i=3 부분의 m_arr)에 선언한건 중복선언이 되어서 오류가 난다는 말씀이신거같네요 감사합니다
- 1
- 3
- 295
질문&답변
질문
아니요.. 세미콜론 붙여도 오류가 납니다 분명 에러는 ';'가 필요합니다 라고 나오지만 컴파일러가 이상한곳에 ;을 넣길 원합니다 c++ 19 사용중입니다 (사진) 컴파일러가 이런식으로 추천 수정을 해주네요 코드 전체 올려보겠습니다 자꾸 header include가 짤리는데 입니다 #include using namespace std; class Something { private: int m_i = 2; double m_d = 3.15; char m_c = 'b'; int m_arr[5]{ 100,200,300,400,500 }; public: Something() : m_i(1), m_d(3.14), m_c('a'), m_arr{ 1,2,3,4,5 } { m_i = 3; m_d = 3.16; m_c = 'c'; m_arr{ 1,2,3,4,5 }; // 에러가 나는 라인 } void print() { cout
- 1
- 3
- 295
질문&답변
Null Reference Exception 에러
코드 꼼꼼히 본다고 여러번 돌려본건데.. 너무 Input Manager 강의에서만 문제찾겠다고 돌려보느라 발견을 못했네요 ㅠ 빠른답변감사합니다
- 0
- 2
- 483