I have a timer class inside of the engine namespace.

timer.h
Code:
#pragma once
#include <chrono>
namespace engine {
  class timer {
    ...
  };
}
I also have a core class inside of the engine namespace.

core.h
Code:
#pragma once
namespace engine {
  class core {
    public:
        static void start();
    ...
  };
}
Both classes work fine. However, when I try to create a new timer from the core class, I get the expected a type specifier error.

Here's core.cpp where that's happening at:
Code:
#include <iostream>
#include "../header/core.h"
#include "../header/timer.h"

using namespace engine;

void core::start() {

  // This does not work
  timer *timer = new timer();

  // This works
  timer *timer = new engine::timer();

...
I can't for the life of me figure out why I have to specify the namespace on the constructor. The data type is recognized without it. Any ideas?