我想创建一个接受字符串的新类,并将其转换为字符数组,然后将其保存到其私有变量中。因此,我正在尝试转换const char*
为,char*
因为我希望能够修改其内容。
class MyClass {
public:
MyClass (const char* input) {
// convert input to char* and assign it to carray
}
private:
char carray[];
};
int main() {
MyClass mc = "StackOverflow";
}
我修改了构造函数以各种方式获取参数的方式(string& input
、input.c_str()
等),但它们都失败了,并出现以下错误之一。
error: conversion from ‘const char [14]’ to non-scalar type ‘MyClass’ requested
error: request for member ‘c_str’ in ‘s’, which is of non-class type ‘const char*’
error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
error: incompatible types in assignment of ‘const char*’ to ‘char [0]’
我看了几个关于 SO 的例子,但我仍然无法弄清楚。我怎样才能做到这一点?