質問は簡単ですが、ここで尋ねるエラーを解決できません。コンパイルエラーC++ヘッダファイルに関数を追加中
私は単純なプログラムを、関数を.hに書き込んで、それを後でメインファイルに書き込むことで壊しています。 これはコンパイルエラーの原因です。
私は
次のエラー与える#include "remAnagram.h"
#include<string>
using namespace std;
int main(){
string str1, str2;
cin >> str1 >> str2;
cout << remAnagram(str1, str2);
return 0;
}
として、メインファイルと
int remAnagram(string str1, string str2){
int occ1[SIZEOFALPHA];
int occ2[SIZEOFALPHA];
int len1, len2, tot=0;
len1 = str1.size();
len2 = str2.size();
for(int i =0; i<SIZEOFALPHA; i++){
occ1[i] = 0;
occ2[i] = 0;
}
for(int i =0; i < len1; i++){
occ1[str1[i] - 'a'] += 1;
}
for(int i = 0; i < len2; i++){
occ2[str2[i] - 'a'] += 1;
}
for(int i =0; i < SIZEOFALPHA; i++){
tot += abs(occ1[i]- occ2[i]);
}
return tot;
}
#endif // REMANAGRAM_H_INCLUDED
と関数として2つのファイルを作成:
remAnagram.h | 8 | ERROR: '文字列' でしたこの範囲で宣言されていない
'using namespace std;'を削除し、 'std :: string'を書き出します。 –
明らかに、コンパイラはあなたが話している 'string'を知りません。したがって、使用前に 'namespace std;'を使うか、もっと良い方法として 'std :: string'を実行するのが良いでしょう。 –
@Djackありがとうございました。しかし、まだ文字列コンパイラがあいまいさを取り除いていません。 – krishnakant