mainファイル内でOBJ型のobjグローバル変数を作り、
その変数のアドレスを [OBJ load(OBJ *obj)]関数に引数として渡し、
load関数内で作ったOBJ型のobj変数に引数で受け取ったアドレス先の値を代入し、
load関数で作ったobj変数に値を代入しようとしたのですが、エラーが出てしまいます。
自分でも調べてみたのですが、どこがいけないのかわかりませんでした。
どなたか教えていただければ幸いです。<( _)>
環境 : visual studio 2019 // c++
C++
1#include <vector> 2#include "test.h" 3OBJ obj; 4 5int main() { 6 load(&obj); 7 8 return 0; 9}
// test.h
C++
1#pragma once 2#include <vector> 3 4struct TEST { 5 int a; 6 int b; 7 int c; 8}; 9 10struct OBJ { 11 std::vector <int> key; 12 std::vector <TEST> test; 13}; 14 15OBJ load(OBJ* _obj);
// test.cpp
C++
1#include <stdio.h> 2 3#include "test.h" 4 5OBJ load(OBJ* _obj) { 6 7 OBJ obj = *_obj; 8 9 obj.test[1].a = 120; 10 11 printf("test[1].a=%d\n", obj.test[1].a); 12 13 return obj; 14}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/14 04:11