我正在使用一些遗留代码,我需要一个 StoreStrings 类来存储一些字符串并能够返回一个 MyString*。
我试过这个:
typedef char MyString[64];
class StoreStrings{
public:
void store(MyString *aStr)
{
theVec.push_back(aStr);
}
const MyString* get(){return theVec.begin();}
private:
std::vector<MyString> theVec;
};
但我很失望,因为它不能用这种语法编译。
StoreStrings myStore;
myStore.store("Hello");//cannot convert parameter 1 from 'char [6]' to 'char (*)[64]'
我必须先实例化一个 MyString 。
MyString myStr = "Hello";
myStore.store(&myStr);
如何重写 StoreStrings 类以便拥有 myStore.store("Hello"); 编译?