class myString 新程序员
class myString new programmer
class mystring
{
public:
mystring(const char x[])
: capacity(1024)
{
for (int i = 0; i < capacity; ++i)
{
if (x[i] == '[=11=]') break;
s[i] = x[i];
length++;
}
}
mystring()
: capacity(1024), s('[=11=]'), length(0)
{}
//etc...
private:
const int capacity;
char s[1024];
int length;
};
我收到这个错误:
In file included from main.cpp:19:0:
mystring.h: In constructor ‘mystring::mystring()’:
mystring.h:21:44: error: incompatible types in assignment of ‘char’ to ‘char [1024]’
: capacity(1024), s('[=12=]'), length(0)
我不明白这是怎么回事。我对构造函数有点陌生。提前致谢!
您现在遇到的错误是因为您试图将 char
放入 char[]
。
char[]
是一个char数组,char本身就是一个char;
通常,char[]
定义为 char str[] = "Test";
考虑一下并尝试修复您的代码!
希望这有帮助
将s('[=10=]')
改为s("[=11=]")
当您使用单引号时,它是一个字符。您必须使用双引号将其作为字符串进行测试。
class mystring
{
public:
mystring(const char x[])
: capacity(1024)
{
for (int i = 0; i < capacity; ++i)
{
if (x[i] == '[=11=]') break;
s[i] = x[i];
length++;
}
}
mystring()
: capacity(1024), s('[=11=]'), length(0)
{}
//etc...
private:
const int capacity;
char s[1024];
int length;
};
我收到这个错误:
In file included from main.cpp:19:0:
mystring.h: In constructor ‘mystring::mystring()’:
mystring.h:21:44: error: incompatible types in assignment of ‘char’ to ‘char [1024]’
: capacity(1024), s('[=12=]'), length(0)
我不明白这是怎么回事。我对构造函数有点陌生。提前致谢!
您现在遇到的错误是因为您试图将 char
放入 char[]
。
char[]
是一个char数组,char本身就是一个char;
通常,char[]
定义为 char str[] = "Test";
考虑一下并尝试修复您的代码! 希望这有帮助
将s('[=10=]')
改为s("[=11=]")
当您使用单引号时,它是一个字符。您必须使用双引号将其作为字符串进行测试。