难以理解C++字符串文字

下面的代码是我的程序的一部分。它不执行它说 c++ 禁止将字符串常量转换为 char*。我该如何解决这个错误?

#include <cstring>
#include <iostream>
using namespace std;

class Bank
{
private:
    char name[20];
    int acc;
    float amount;

public:
    Bank()
    {
        strcpy("",name);
        acc = 0;
        amount = 0;
    }

    void open(int a)
    {
        cout << "Enter name:";
        cin >> name;
        acc = a;
        cout << "Enter Amount" << endl;
        cin >> amount;
    }

    void edit(int flag, float a);
};

int main()
{
    Bank B[10];
}  

回答

std::strcpy("", name); 需要是 std::strcpy(name, "");

虽然,撇开这样一个事实,这std::string将是一个更好的类型name(未来的英格兰国王查尔斯蒙巴顿温莎将无法成为客户),写作

name[0] = 0;

就足够了。


以上是难以理解C++字符串文字的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>