Load()
たとえば、関数を持つクラスがあります。
class DB {
private:
pt_db *db;
public:
DB(const char *path);
Write(const char *path);
int Load(const char *path);
};
Load()
そして、渡された引数に応じて、関数からステータスを返したいと思います。
例えば:
Load(<correct path to the file with valid content>) // return 0 - success
Load(<non-existent path to file>) // return 1
Load(<correct file path, but the content of the file is wrong>) // return 2
それにもかかわらず、私は心配しています:
型の安全性 - ステータス コードとしてのみ使用できるオブジェクトを返したいということです。
int res = Load(<file path>); int other = res * 2; // Should not be possible
事前定義された値のみを使用してください。エラーにより、 (関数で何か問題が発生したことを示唆しましょう)の
int
ような他のステータスを返すことができ、このエラーコードが渡されるとは思わない場合:return 3
Load()
int res = Load(<file path>); if(res == 1) {} else if (res == 2) {}; ... // Here I have that code fails by reason that Load() returned non-expected 3 value
それについては、C++11 のベスト プラクティスを使用してください。
誰でも助けてもらえますか?