2009-08-18 5 views
0

Désolé, c'est probablement une question stupide, car je n'ai rien trouvé du tout sur google sur le sujet. Quoi qu'il en soit j'essaie de compiler du code source, qui utilise boost :: array avec Visual Studio 2005, comme une application console Win32 (pas clr), mais pour une raison qui m'échappe Visual Studio considère toujours le mot tableau un mot-clé, il étrangle sur toute la gamme boost :: <> s 'dans le code avec des erreurs comme ceci:boost :: array ne compile pas sur VS 2005

Error 1 error C2039: 'array' : is not a member of 'boost' 
d:\projects\libraries\boost_1_36_0-1\boost_1_36_0\boost\asio\buffer.hpp 809 

Je suis tout à fait sûr qu'il ya quelque chose de terriblement stupide et probablement évident que je suis absent que personne dans le monde ne semble avoir ce problème (selon les résultats de Google, j'ai trouvé)

+1

'array' est simplement reconnu par la syntaxe highlighter, donc je ne pense pas que le compilateur ait une notion préconçue de tableaux en dehors des projets/clr. Il est étrange que le tampon d'asio ne parvienne pas à trouver le type de tableau, il inclut boost/array.hpp. Avez-vous un autre type de tableau dans la portée globale? –

+0

Ce n'est pas ce que je peux penser, ce qui est l'ensemble du problème, si je compile avec/Za (pas d'extensions de langue), il reconnaît boost :: array <> ok, mais échoue dans d'autres parties. Donc c'est vraiment vraiment bizarre:/ –

+0

Si vous faites un clic droit sur 'array' et que vous choisissez "Go to Definition" ou "Go to Declaration" cela vous amène-t-il quelque part qui pourrait donner un indice? –

Répondre

1

Ce programme simple compilé et travaillé perfe ctly dans mon VC++ 2005:

#include <iostream> 
#include <boost/array.hpp> 

int 
main() 
{ 
    const int size = 3; 
    boost::array<double,size> myArray; 
    myArray[0] = 23.43f; 
    myArray[1] = 24.00f; 
    myArray[2] = 23.50f; 
    double sum = 0.0; 
    for (size_t i = 0; i < myArray.size(); ++i) 
    { 
     sum += myArray[i]; 
    } 
    std::cout << "sum=" << sum << '\n'; 
    return 0; 
} 

Pourriez-vous poster un petit fragment de code qui échoue?

+0

Cela n'a pas vraiment compilé:/Donc j'ai téléchargé Boost à nouveau, et maintenant c'est le cas. D'une certaine façon ma distribution de boost a été cassée. –

+0

travaillé pour moi aussi, bizarre que ce n'était pas pour vous – Maciek

Questions connexes