OperatingSystem.h
#ifndef OPERATING_SYSTEM_H
#define OPERATING_SYSTEM_H
#include <iostream>
enum class OperatingSystem
{
unknown,
android,
iOS,
macOS,
Linux,
propietary,
Unix,
windows
};
#endif
OperatingSystem.cpp
#include "OperatingSystem.h"
std::ostream& operator<< (std::ostream& os,
OperatingSystem OS)
{
switch (OS)
{
case OperatingSystem::unknown : os << "unknown OS";
break;
case OperatingSystem::android : os << "Android OS";
break;
case OperatingSystem::iOS : os << "iOS";
break;
case OperatingSystem::macOS : os << "MacOS";
break;
case OperatingSystem::Linux : os << "Linux OS";
break;
case OperatingSystem::propietary : os << "proprietary OS";
break;
case OperatingSystem::Unix : os << "Unix OS";
break;
case OperatingSystem::windows : os << "MS Windows OS";
break;
}
return os;
}
Error
Device.cpp:17:68: error: no match for ‘operator<<’ (operand types are ‘std::basic_ostream’ and ‘OperatingSystem’) std::cout << get_model() << ", RAM " << _main_memory << "GB, " << get_os();