Originally Posted by
stahta01
I am not a C++ programmer; but, I think you can hide includes inside of namespaces.
Tim S.
Well i tried it but i get a bunch of weird errors when i compile it.
SMengine.h
Code:
#pragma once
namespace myspace
{
#include <iostream>
#include <SDL.h>
}
class SMengine
{
public:
__declspec(dllexport) SMengine();
__declspec(dllexport) ~SMengine();
};
SMengine.cpp
Code:
#include "SMengine.h"
SMengine::SMengine()
{
if (myspace::SDL_Init(SDL_INIT_EVERYTHING) < 0)
myspace::std::cout << "Something went wrong" << myspace::std::endl;
else
myspace::std::cout << "Its time to roll!!!" << myspace::std::endl;
myspace::std::cin.get();
}
SMengine::~SMengine()
{
}
Errors In Visual Studio:
Code:
1>------ Build started: Project: SMengine, Configuration: Debug Win32 ------
1>SMengine.cpp
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(20): error C2039: 'fabs': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(25): error C2039: 'fabsf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(30): error C2039: 'fabsl': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(34): error C2039: 'div_t': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(34): error C2873: 'div_t': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(34): error C2039: 'ldiv_t': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(34): error C2873: 'ldiv_t': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(35): error C2039: 'abort': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(35): error C2873: 'abort': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(35): error C2039: 'abs': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(35): error C2873: 'abs': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(36): error C2039: 'atof': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(36): error C2873: 'atof': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(36): error C2039: 'atoi': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(36): error C2873: 'atoi': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(36): error C2039: 'atol': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(36): error C2873: 'atol': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(37): error C2039: 'bsearch': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(37): error C2873: 'bsearch': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(37): error C2039: 'calloc': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(37): error C2873: 'calloc': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(37): error C2039: 'div': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(37): error C2873: 'div': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(38): error C2039: 'exit': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(38): error C2873: 'exit': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(38): error C2039: 'free': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(38): error C2873: 'free': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(39): error C2039: 'labs': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(39): error C2873: 'labs': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(39): error C2039: 'ldiv': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(39): error C2873: 'ldiv': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(39): error C2039: 'malloc': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(39): error C2873: 'malloc': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(40): error C2039: 'mblen': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(40): error C2873: 'mblen': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(40): error C2039: 'mbstowcs': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(40): error C2873: 'mbstowcs': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(40): error C2039: 'mbtowc': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(40): error C2873: 'mbtowc': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(41): error C2039: 'qsort': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(41): error C2873: 'qsort': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(41): error C2039: 'rand': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(41): error C2873: 'rand': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(41): error C2039: 'realloc': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(41): error C2873: 'realloc': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(42): error C2039: 'srand': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(42): error C2873: 'srand': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(42): error C2039: 'strtod': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(42): error C2873: 'strtod': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(42): error C2039: 'strtol': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(42): error C2873: 'strtol': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(43): error C2039: 'strtoul': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(43): error C2873: 'strtoul': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(44): error C2039: 'wcstombs': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(44): error C2873: 'wcstombs': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(44): error C2039: 'wctomb': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(44): error C2873: 'wctomb': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(46): error C2039: 'lldiv_t': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(46): error C2873: 'lldiv_t': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(49): error C2039: 'getenv': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(49): error C2873: 'getenv': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(50): error C2039: 'system': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(50): error C2873: 'system': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(53): error C2039: 'atoll': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(53): error C2873: 'atoll': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(53): error C2039: 'llabs': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(53): error C2873: 'llabs': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(53): error C2039: 'lldiv': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(53): error C2873: 'lldiv': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(54): error C2039: 'strtof': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(54): error C2873: 'strtof': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(54): error C2039: 'strtold': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(54): error C2873: 'strtold': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(55): error C2039: 'strtoll': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(55): error C2873: 'strtoll': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(55): error C2039: 'strtoull': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(55): error C2873: 'strtoull': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(57): error C2039: '_Exit': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(57): error C2873: '_Exit': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(57): error C2039: 'at_quick_exit': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(57): error C2873: 'at_quick_exit': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(57): error C2039: 'quick_exit': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cstdlib(57): error C2873: 'quick_exit': symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(20): error C2039: 'pow': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(25): error C2039: 'acosf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(30): error C2039: 'acoshf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(35): error C2039: 'asinf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(40): error C2039: 'asinhf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(45): error C2039: 'atanf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(50): error C2039: 'atanhf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(55): error C2039: 'atan2f': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(60): error C2039: 'cbrtf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(65): error C2039: 'ceilf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(71): error C2039: 'copysignf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(76): error C2039: 'cosf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(81): error C2039: 'coshf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(86): error C2039: 'erff': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(91): error C2039: 'erfcf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(96): error C2039: 'expf': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(101): error C2039: 'exp2f': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(106): error C2039: 'expm1f': is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\cmath(106): fatal error C1003: error count exceeds 100; stopping compilation
1>Done building project "SMengine.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
This is so weird. These symbols at the errors are from the math.h library, how does this make sense