这个哪里出错了呢……

img

供参考:

#include<iostream>
using namespace std;
class C1 {
public:
    int m_a;
};
struct C2 {
    int m_a;
    void print(int m_a)
    {
        cout << m_a << endl;
    }
};
int main()
{
    C1 s1;
    C2 s2;
    s1.m_a = 9;
    s2.m_a = 1;
    s2.print(s1.m_a);
    s2.print(s2.m_a);
    return 0;
}

应该改为

void print(c1 s2)
{
  cout<<s2.m_a;
}

但是改了以后肯定没有访问权限,把int m_a声明为public,或者把c1定义成struct,不定义成class

你这是完全不理解S2.m_a到底是个什么玩意,这东西能作为形参?