文字列のsquereを作成するプログラムを作成しようとしています。Squereはstring.length()よりも大きくする必要があります。「C++」という単語がある場合は、その中に2x2の配列を入力する必要があります。だから私はコードを書いた
#include <cmath>
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int pole(int &a,const int* l);
int main(){
string code;
cin >> code;
int wall=1;
pole(wall,code.length());
cout << wall;
system("PAUSE");
return 0;
}
int pole(int &a,const int* l){
if (a*a > l) return a;
else {
a+=1;
pole(a,l);
}
}
ポインタを最新性のあるものとして使用すると、多くのメモリを節約できると思いますが、コンパイルできません。コンパイラのエラーを理解しようとしていますが、2つ難しいです; /
これがエラーのコンパイラリストです
> in main()
11 25 Error] invalid initialization of non-const reference of type 'int&' from an rvalue of type 'int (*)(int&, const int*)'
6 5> [Error] in passing argument 1 of 'int pole(int&, const int*)'
in pole() 17 12
>[Error] ISO C++ forbids comparison between pointer and
> integer [-fpermissive]