---
layout: post
title:  "C++ Struct 선언 및 초기화"
categories: KeyPoint
tags: KeyPoint
author: goodGid
---
* content
{:toc}

## To Do

* Struct 구조의 선언 및 초기화에 대해 알아보자.











``` cpp
#include <iostream>
using namespace std;

struct A{
    int a,b,c;
    A(int _a, int _b, int _c) : a(_a), b(_b), c(_c){};
};

struct B{
    int a,b,c;
};

int main() {
    // [1]
    // Error : No matching constructor for initialization of 'A'
    // A tmp;
    
    // [2]
    A tmp(1,2,3);
    
    // [3]
    B tmp2;
    tmp2.a = 1;
    tmp2.b = 2;
    tmp2.c = 3;
    
    cout << tmp.a << " " << tmp2.a << endl;
    cout << tmp.b << " " << tmp2.b << endl;
    cout << tmp.c << " " << tmp2.c << endl;
    
    return 0;
}

/*
Output
1 1
2 2
3 3
*/
```

---

## Review

* [1]처럼 했을 시 생성자 에러가 뜬다.

* A구조체를 사용하고 싶다면 [2]처럼 해야한다.

* B구조체처럼 생성자가 없이 선언 후 [3]처럼 하나씩 초기화를 해줘도 된다.

Write Key Point Post " C++ Struct 선언 및 초기화 "
Write Key Point Post " C++ Struct 선언 및 초기화 "
