C++里面有关结构体嵌套结构体,子函数中值传递的问题。

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

struct MyStruct1 {
    string        Parameter1;
    int            Parameter2;
    double    Parameter3;
};

struct MyStruct {
    string        Parameter1;
    int            Parameter2;
    double    Parameter3;
    MyStruct1 St;
};

void Lesson6_Log(MyStruct *S);
void Lesson6_Log2(MyStruct S);
void main() {
    //结构体数组
    MyStruct SS[3] = {
        {"a",1,2,{"a",5,6}},
        {"b",4,5,{"b",7,8}},
        {"c",7,8,{"c",10,11}}
    };
    Lesson6_Log(&SS[0]);
    Lesson6_Log(&SS[1]);
    Lesson6_Log(&SS[2]);
    //结构体指针
    MyStruct* mystruct = &SS[1];
    mystruct->Parameter1 = "aaa";
    mystruct->Parameter2 = 123;
    mystruct->Parameter3 = 123.321;
    mystruct->St.Parameter1 = "bbb";
    mystruct->St.Parameter2 = 456;
    mystruct->St.Parameter3 = 456.654;
    Lesson6_Log(mystruct);
    Lesson6_Log2(*mystruct);
    system("pause");
}
void Lesson6_Log(MyStruct * S) {
    cout << "Parameter1 is:" <<S->Parameter1 << endl;
    cout << "Parameter2 is:" << S->Parameter2 << endl;
    cout << "Parameter3 is:" << S->Parameter3 << endl;
    cout << "S.St.Parameter1 is:" << S->St.Parameter1 << endl;
    cout << "S.St.Parameter2 is:" << S->St.Parameter2 << endl;
    cout << "S.St.Parameter3 is:" << S->St.Parameter3 << endl;
    cout << "-------------------------------------------" << endl;
}
void Lesson6_Log2(MyStruct S) {
    cout << "Parameter1 is:" << S.Parameter1 << endl;
    cout << "Parameter2 is:" << S.Parameter2 << endl;
    cout << "Parameter3 is:" << S.Parameter3 << endl;
    cout << "S.St.Parameter1 is:" << S.St.Parameter1 << endl;
    cout << "S.St.Parameter2 is:" << S.St.Parameter2 << endl;
    cout << "S.St.Parameter3 is:" << S.St.Parameter3 << endl;
    cout << "-------------------------------------------" << endl;
}

运行后提示59行:0x7B5CFD0E (ucrtbased.dll) (StudyNotes.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x00400000 时发生访问冲突
加断点显示Lesson6_Log2函数内部局部变量S的St内部所有内容都是错的。
这是为什么呀?

定义结构体变量,应该在前面加上struct 关键字。

直接复制代码在VS2010下运行,没有任何毛病啊
你是在什么环境下运行的呢

看似没什么问题啊!