Я верю, что выкопал себя в отверстие. Разбирая мой единственный файл, пару тысяч строк кода в несколько файлов, я, кажется, грубо накрутил структуру программы.
Я новичок в C++ и его заголовочных файлах и управлении пространством имен, поэтому я учился, когда я ухожу. Я догадываюсь, что я не совсем понимаю, как # включать, использовать и пространства имен взаимосвязаны и что переносится на другие файлы и т. Д.Зависимости, пространство имен и заголовки
Чтение через документацию MSDN Я могу видеть кусочки моей проблемы, но решение ускользает от меня , В настоящее время у меня есть четыре .cpp файлы и заголовки:
1) A Главный Файл
2) GameData .cpp и его заголовок, который содержится в пространстве имен PDATA
3) A GameSettings .cpp и его заголовок, который содержится в пространстве имен pSettings
4) GeneralScreens .cpp и его заголовок, который содержится в пространстве имен pScreens
После компиляции отладчик извергает более 100 ошибок, как:
>c:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(454): error C2447: '{' : missing function header (old-style formal list?)
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(463): error C2039: 'pair' : is not a member of 'std'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(463): error C2955: 'pScreens::std::pair' : use of class template requires template argument list
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(173) : see declaration of 'pScreens::std::pair'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(33): error C2873: 'wcsrtombs' : symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(41): error C2039: 'wctob' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(41): error C2873: 'wctob' : symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(42): error C2039: 'wmemchr' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(42): error C2873: 'wmemchr' : symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(42): error C2039: 'wmemcmp' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(42): error C2873: 'wmemcmp' : symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(42): error C2039: 'wmemcpy' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(42): error C2873: 'wmemcpy' : symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar(43): error C2039: 'wmemmove' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\new(93): error C2039: 'nothrow_t' : is not a member of 'std'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\new(93): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\new(93): error C2143: syntax error : missing ',' before '&'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\new(99): error C2039: 'new_handler' : is not a member of 'std'
ли эти ошибки свидетельствуют о чем-то?
Я предполагаю, что что-то не так с тем, как я ссылаюсь на библиотеку std, хотя я не знаю, как точно определить ошибку, потому что все ошибки находятся в библиотечных файлах.
Какая минимальная сумма кода вызывает эту проблему? – 2010-12-15 19:43:23
Минимальный образец кода поможет чрезвычайно. Кроме того, вы можете искать MSDN для кодов ошибок: каждая страница кода ошибки дает примеры того, что может вызвать ее, поэтому вы можете сравнить свой код с ними. – suszterpatt 2010-12-15 19:49:04