2011|08|
2013|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|05|06|07|08|09|10|11|12|
2016|01|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|

2019-02-25 note: forward declaration of [長年日記]

/*
  以下のエラーが取れずに、エライ目にあっていたので、メモ
 
  In member function 'int BUS::driver()':
error: invalid use of incomplete type 'class PERSON'
if (bp->status == 3){ // 3:乗車中
^~
note: forward declaration of 'class PERSON'
*/
 
#include <iostream>
#include <list>   // list 利用のため
using namespace std;
 
class PERSON; // PERSONの定義はBUSの下にある(いわゆる前置定義)
list<PERSON> person_list; 
 
class BUS
{
public:
  int a;
  list<PERSON> passenger;  
 
  BUS();
  int func();
};
 
BUS::BUS()
{
  a = 5;
}
 
int BUS:func()
{
  return 0;
}
 
class PERSON
{
public:
  int direction;
  PERSON();
};
 
PERSON::PERSON()
{
  
}
 
// これを以下のようにしたら、エラーが取れた
// 簡単に言えば、classの定義の後にメソッドを書くこと
 
 
#include <iostream>
#include <list>   // list 利用のため
using namespace std;
 
class PERSON; // PERSONの定義はBUSの下にある(いわゆる前置定義)
list<PERSON> person_list; 
 
class BUS
{
public:
  int a;
  list<PERSON> passenger;  
 
  BUS();
  int func();
};
 
class PERSON
{
public:
  int direction;
  PERSON();
};
 
 
BUS::BUS()
{
  a = 5;
}
 
int BUS:func()
{
  return 0;
}
 
 
PERSON::PERSON()
{
  
}
syntax2html