C++ pas utiliser vector<string> comme type de retour

Je suis en train d'utiliser les fonctions suggéré ici de découper une chaîne par un séparateur, mais j'obtiens une poignée d'erreurs à chaque fois que j'essaie d'utiliser vector<string> un type de retour.

J'ai fait une simple fonction qui retourne un vector<string> comme un test, mais je suis toujours les mêmes erreurs:

//Test.h
#pragma once

#include <vector>
#include <string>

    using namespace std;
using namespace System;

namespace Test
{
    vector<string> TestFunction(string one, string two);
}

.

//Test.cpp
#include "stdafx.h"
#include "Test.h"

namespace Test
{
    vector<string> TestFunction(string one, string two) {
        vector<string> thing(one, two);
        return thing;
    }
}

Et une capture d'écran des erreurs:
C++ pas utiliser vector<string> comme type de retour

Personne ne sait pourquoi il me semble être incapable d'utiliser vector<string> un type de retour?

votre type de retour devra être std::vector<std::string>
les deux string et vector sont dans le std espace de noms, non? DONC ne devrait pas using namespace std; prendre soin de cela?
De côté: il est généralement considéré comme très mauvaise pratique d'avoir un using à l'intérieur d'un .h fichier. En particulier avec des références à des espaces de noms vs types
vector<string> thing(one, two); ce n'est pas initialiser le vecteur avec deux chaînes, il n'existe pas de constructeur.
oui, mon mauvais. Je ne savais pas qu'il y avait un using directive dans l'en-tête. Effrayant!

OriginalL'auteur WilHall | 2012-03-09