###前提・実現したいこと
以前https://teratail.com/questions/53500にて質問をさせていたいただき、改善しようと努力している最中なのですが、文字列をすべて2進数に変換すると誤った値が表示されます。また警告と注意が出ます(おそらくこれを改善すると治るのでしょうが)。何が間違っているのかドバイスがほしいです。
###発生している問題・エラーメッセージ
base64.c: In function ‘main’: base64.c:16:27: warning: passing argument 2 of ‘allDecToBin’ from incompatible pointer type [-Wincompatible-pointer-types] allDecToBin(dec_encoded, bin_encoded, length); ^~~~~~~~~~~ In file included from base64.c:2:0: base64.h:22:13: note: expected ‘int (*)[8]’ but argument is of type ‘int (*)[7]’ extern void allDecToBin(int pre[], int post[MAX_INPUT][bitNum], int len);
###該当のソースコード
複数のファイルに別れているため、github上にあげています。
- base64.sh
実行するための命令です(あまり関係ないと思いますが)
- base64.c
メインのソースです
- base64.h
ヘッダファイルです
- length.c
文字列の長さを求める
- ToDec.c
文字列を10進数変換する
- decToBin.c
10進数を2進数へ変換する
###試したこと
- 以前の反省としてできる限りすっきりとしたとしたソースにしました。
- externを使用したヘッダファイル
- ポインタをできる限り使わない
###補足情報(言語/FW/ツール等のバージョンなど)
コンパイラ gcc
OS archlinux
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/11 15:25