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=]")

当您使用单引号时,它是一个字符。您必须使用双引号将其作为字符串进行测试。