2016-03-28 2 views
-1
#include <iostream> 
#include <string> 
#include <sstream> 
#include <string> 

int coins = 0; 
std::stringstream ss; 
ss << 100 << ' ' << 200; 

Когда я парить над ss я получаю ошибку «декларации не имеет класс хранения или спецификатора типа» и когда я парить над << я получаю ошибка ожидается ;»«Декларация не имеет класс хранения или спецификатор типа» ошибки при использовании stringstream

+0

Хотя вы можете иметь такие объявления (хотя вы должны сильно не учитывать глобальные переменные), * код * ('ss << 100 << '' << 200;') должен находиться внутри функции. – crashmstr

+0

Это не ваш фактический код? – NathanOliver

+0

Нет, но это единственный бит, где была ошибка – TheKian

ответ

3

C++ не допускает исполняемые операторы вне функций

первые две строки декларация,... они разрешены, хотя я сомневаюсь, что вы сделали их глобальными нарочно последнюю строку, однако , должен быть pla ced внутри функции, например. main:

int main() { 
    int coins = 0; 
    std::stringstream ss; 
    ss << 100 << ' ' << 200; 
} 
+0

Сделано глобально по назначению, но спасибо – TheKian

1

Они могут быть вне функции:

int coins = 0; 
std::stringstream ss; 

Однако это не может:

ss << 100 << ' ' << 200; 

Итак, поместите его в main() или любой другой функции.

Смежные вопросы