|
밑에 소스에서 (64)만 삭제하면 컴파일에는 에러가 없습니다.
밑에 matrix3이 정의가 안 되었다고 해서 matrix로만 바꿔서 컴파일을 해봤습니다.
#include <deque>
using namespace std;
void bit_col_swap ( const int Idx1 , const int Idx2 ,deque<bool> &matrix)
{
for ( int i = 0 ; i < 8 ; i ++ )
{
bool temp;
temp = matrix[Idx1 * 8 + i];
matrix[Idx1 * 8 + i] = matrix[Idx2 * 8 + i];
matrix[Idx2 * 8 + i] = temp;
}
}
아마 실제로 쓰실 때에는 for 루프 앞에 matrix의 크기를 검사하는
루틴을 넣어야 할 것 같네요.
만해 님이 쓰신 글 :
: 안녕하세요 만해 입니다.
:
: 지금 STL의 deque<bool> 이란 객체를 사용 하고 있는데요
:
: 이걸 함수로 인자로 넘겨 줘야 하는데요
:
: 자꾸만 에러가 나네요
:
: 안되면 그냥 void* 형으로 형변환해서 날릴까 하는데
:
: 이렇게 되면 어떻게 될지 몰라서 아직 해보지는 않았습니다.
:
: 우선 이게 뭘하는거나면요
:
: 8*8 배열이 있다고 할때요
:
: 임의의 행 을 가르키는
:
: ColIdx[0],ColIxdx[1] 를 가져 와서
:
: 8*8 행렬의 ColIdx[0] 값과 ColIdx[1]을 서로 바꿔 주는 역활을 하려하는데요
:
: void TCrypt::bit_col_swap ( const int Idx1 , const int Idx2 ,deque<bool> &matrix(64))
: {
:
: for ( int i = 0 ; i < 8 ; i ++ )
: {
: bool temp;
: temp = matrix[Idx1 * 8 + i];
: matrix[Idx1 * 8 + i] = matrix3[Idx2 * 8 + i];
: matrix[Idx2 * 8 + i] = temp;
: }
:
: }
:
: 이 소스가 함수로 만들려고 하는 부분인데요
:
: 위에 나와있는 matrix3를 함수의 인자를 통해 받을려고 하는데 안되네요
:
: 고수님들의 조언 부탁 드립니다.
:
:
|