class mystring
{
public:
mystring(const char x[])
: capacity(1024)
{
for (int i = 0; i < capacity; ++i)
{
if (x[i] == '\0') break;
s[i] = x[i];
length++;
}
}
mystring()
: capacity(1024), s('\0'), 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('\0'), length(0)
Я не под стендом, что происходит. Я немного новичок в конструкторах. Заранее спасибо!
На самом деле не имеет значения, что ошибка находится внутри конструктора. В нем четко сказано, что вы не можете назначить 'char'' char [1024] '. –
В первом конструкторе вы обрабатываете 's' как массив,' s [i] '. Во втором конструкторе вы обрабатываете 's' как переменную' char', 's ('\ 0')'. Это не может быть и то, и другое. –
Да, я полный новичок. Большое спасибо ребятам. Я просто не замечал очевидного. – aglasscage