我如何一次传递两个字符串

How can I pass two string at a time

本文关键字:两个 字符串 何一次      更新时间:2023-10-16

谁能修复这些错误?

#include<iostream>
#include<string>
using namespace std;
class base{
public:
    int i,j;
    char s[10],r[10];
    void set(char a, char b ){
        s[10]=a;
        r[10]=b;
    }
    void show()
    {
        cout<<s+std::string(r);
    }
};
int main()
{
    char a[10],c[10];
    cout<<"Enter first string"<<endl;
    cin>>a;
    cout<<"Enter second string"<<endl;
    cin>>c;
    base b;
    b.set(a,b);
    return 0;
}
错误:

在函数'int main()'中:32:14:错误:没有匹配函数调用'base::set(char [10], base&)' 32:14:注意:候选函数是:11:10:注意:void base::set(char, char) 11:10:注意:参数2从'base'到'char'没有已知的转换

根据您的评论,您的意图已经明确了。您需要将char指针或std::string s传递给set方法。char只是一个字符,而不是字符串。

下面是你想要的。

#include<iostream>
#include<string>
using std::cin;
using std::cout;
using std::string;
class base
{
    public:
    string s, r;
    void set(const string& a, const string& b)
    {
        s = a;
        r = b;
    }
    void show()
    {
        cout << s << ' ' << r << 'n';
    }
};
int main()
{
    string first, second;
    cout << "Enter first stringn";
    cin >> first;
    cout << "Enter second stringn";
    cin >> second;
    base b;
    b.set(first, second);
    b.show();
}