odysset
@odysset
Программист, немного музыкант и bmx'ер

Может ли Visual C++ ограничить количество глобальных переменных?

Вот собственно код, на который студия ругается такой ошибкой: error C2078: too many initializers.
#pragma once
#include "HTTPClient.h"

using namespace HTTP;
	static char *General[GENERAL_COUNT_HEADERS] = 
	{
			"CacheControl",
			"Connection",
			"Date",
			"MIMEVersion",
			"Pragma",
			"Trailer",
			"TransferEncoding",
			"Upgrade",
			"Via",
			"Warning"
	};

	static char *Request[REQUEST_COUNT_HEADERS] =
	{
		"Accept",
		"AcceptCharset",
		"AcceptEncoding",
		"AcceptLanguage",
		"Authorization",
		"ContentDispositionRq",
		"Expect",
		"From",
		"Host",
		"IfMatch",
		"IfModifiedSince",
		"IfNoneMatch",
		"IfRange",
		"IfUnmodifiedSince",
		"MaxForwards",
		"ProxyAuthorization",
		"Range",
		"Refer",
		"TE",
		"UserAgent"
	};
	static char *Response[RESPONSE_COUNT_HEADERS] =
	{
		"AcceptRanges",
		"Age",
		"Alternates",
		"ContentDispositionRs",
		"ETag",
		"Location",
		"ProxyAuthenticate",
		"Public",
		"RetryAfter",
		"Server",
		"Vary",
		"WWWAuthenticate"
	};
	static char Entity[ENTITY_COUNT_HEADERS] = 
	{
		"ContentDispositionE",
		"ContentEncoding",
		"ContentLanguage",
		"ContentLength",
		"ContentLocation",
		"ContentMD5",
		"ContentRange",
		"ContentType",
		"ContentVersion",
		"DerivedFrom",
		"Expires",
		"LastModified",
		"Link",
		"Title"
	};
HTTPClient::HTTPClient(int a)
{
	a=a;
};

int HTTPClient::Header(GeneralHeaders header, char *value)
{
	cout << General[header] << ": " << value << endl;
	return 0;
};
int HTTPClient::Header(RequestHeaders header, char *value)
{
	cout << Request[header] << ": " << value << endl;
	return 0;
};
/*int HTTPClient::Request(HTTPClient::Headers header)
{
	return 0;
}*/;

HTTPClient::~HTTPClient(void)
{
};


При этом курсор становится в блок строк Entity. Если его закомментировать, то все ок, ну это ведь очень странно, с чего бы мне запрещали использовать столько переменных сколько мне нужно? У кого нибудь есть мнение на этот счет, может как то можно в директивах переопределить эту дурость?
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
@mamkaololosha
Можно либо написать в Майкрософт чтобы они стали считать char строкой или просто написать char*, как это сделано в массивах выше.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы