VC++ и valarray

sasha007

кто нить может помочь с одной проблемкой разобраться?

bobking

Кто-нибудь может помочь с одной проблемкой разобраться.

sasha007

это типа смешно?

bobking

Это типа намёк.
Опиши проблемку, короче.

sasha007

ладно, я тупая видимо.
Проблема в том, что я не могу использовать valarray
есть проект
все работает и так далее.
стоит добавить
#include <valarray> и using namespace std;
как я получаю кучу ошибок со сылкой на файл valarray
например -
c:\program files\microsoft visual studio\vc98\include\valarray(104) : error C2059: syntax error : 'function-style cast'
c:\program files\microsoft visual studio\vc98\include\valarray(167) : see reference to class template instantiation 'std::valarray<_Ty>' being compiled

sasha007

ну ответь хоть что-нить

bobking

хз.

sasha007

ясно
жалко:(
заколебалась уже разбираться!

tokuchu

ты чего сегодня утром на мобиле звук выключила?

viktor5110

Пример куска кода, использующего STL (может поможет...)
//////////////////////////////////////////////////////////////////////
//
// Compile options needed: /GX // может дело в этом, попробуй включить в settings проекта хэндлить ексепшны и юзать RTTI инфу, два Checkbox'a на вкладке C/C++, если я правильно помню
//
// Opequal.cpp : Illustrates how to define the operator== to compare
// vectors.
//
// Functions:
//
// vector::operator== - Vector equality comparison.
// vector::push_back - Appends (inserts) an element to the end of a
// vector, allocating memory for it if necessary.
//
//////////////////////////////////////////////////////////////////////
// The debugger can't handle symbols more than 255 characters long.
// STL often creates symbols longer than that.
// When symbols are longer than 255 characters, the warning is disabled.
#pragma warning(disable:4786)
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std ;
using namespace std::rel_ops ;
// The ID class is used for team scoring. It holds each player's name
// and score.
class ID
{
public:
string Name;
int Score;
ID : Name("" Score(0) {}
ID(string NewName, int NewScore) : Name(NewName Score(NewScore) {}
};

sasha007

ты лучше мне помоги!
давай я с тобой прогой поделюсь!

sasha007

не помогает:(
самое странное, что старые проекты работают
я уже чуть ли не по букви сверила что там и где стоит.
как же заставить ее работать...

tolik1

Что-то подобное бывало, но в совсем другом месте.
Лечилось ручной правкой некоторых .h-файлов.

viktor5110

Интересно, а что получится, если скопировать старый проектник, удалить оттуда его файлы и добавить новые исходники :-)
По крайнее мере, станет яснее, дело ли в настройках в проектнике (.dsp ) или в исходниках. Я бы попробовал.

sasha007

а что править-то?

tolik1

Ну те строки, на которые ругается, или раньше. Там уж код смотреть надо.
И потом, может, у тебя дело совсем в другом?

viktor5110

А еще я бы попробовал добавить в проект define __cplusplus. Но без особой надежды :-)

sasha007

ругаеться на файл студии , а не на мой
нет
говорю же
без объявления valarray все равботет как часы

tolik1

Ну да. Вот эти файлы я иправил своими ручками.
Правда это не в студии было, а в gcc, но это не важно.

tokuchu

На работе я сейчас... Потом помогу

sasha007

хм
странно все это
то я врядли исправлю
я вообще не понимаю чего ей там не нравиться

JERRY

А если его в стандартном afx файле включить?

JERRY

И вообще, ты бы написала здесь первые 10 ошибок, которые выдаются, а то мало ли.

sasha007

я первую написала:)
а остальные такие же

JERRY

Напиши тогда начало файла, куда его добавляешь (вместе с ним).

sasha007

обчитавшись rsdn я сделала так
вставила в sdfaux
#include <valarray>
using namespace std;
c:\program files\microsoft visual studio\vc98\include\valarray(104) : error C2059: syntax error : 'function-style cast'
c:\program files\microsoft visual studio\vc98\include\valarray(167) : see reference to class template instantiation 'std::valarray<_Ty>' being compiled
c:\program files\microsoft visual studio\vc98\include\valarray(104) : error C2334: unexpected token(s) preceding ':'; skipping apparent function body
c:\program files\microsoft visual studio\vc98\include\valarray(167) : see reference to class template instantiation 'std::valarray<_Ty>' being compiled
ну и так далее 2 штуки

Dasar

не делай
using namespace std;
там много всякой фигни, за юзай только то, что тебе необходимо:
using std::valarray;
либо вообще везде в коде пиши явно std::valarray<int> qq ;

sasha007

хорошо
но только если я уберу using namespace std ничего не измениться

JERRY

stdafx.h?
Если да, приведи его здесь. Может все дело в порядке включения.

sasha007

// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#if !defined(AFX_STDAFX_H__7A28AE46_5E50_11D7_AFE8_0050BF5B556C__INCLUDED_)
#define AFX_STDAFX_H__7A28AE46_5E50_11D7_AFE8_0050BF5B556C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afisp.h> // MFC Automation classes
#include <aftctl.h> // MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#include <valarray>
using std::valarray;
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__7A28AE46_5E50_11D7_AFE8_0050BF5B556C__INCLUDED_)

Dasar

Дежурные вопросы:
service pack 5 стоит? если нет, то поставь - очень много проблем уходит.
зы
ИМХО, конечно, для нормального C++ лучше ставить VS 2003 - там C++ стандарт почти полность поддерживается

sasha007

это 7 что ли?
что за 2003?

Dasar

это 7 что ли?
почти
что за 2003?
можно сказать, что 8, но больше тянет на 7.1, т.к. ничего кардинально, только C++ до стандарта дотянули

JERRY

Поставь включение valarray в начало файла. MFC как обычно что-то засрало по дороге.

sasha007

блядь
оно откомпилилось
а теперь там где я класс объявляю пихнуть #include "stdafx.h" ?

JERRY

вообще говоря #include "stdafx.h" должно быть в каждом cpp файле. А если h файл, то туда valarray и отдельно включить можно.

voronetskaya

>MFC как обычно что-то засрало по дороге
а именно макросы min и max, в чем vs.net сразу же и признался. Так что он рулит 6го...
2долси: че из аси свалила, я тебе тока туда ответил...

sergey_m

Пляски с бубном начинаются.

JERRY

Они уже давно закончились, ты опоздал.

sasha007

у меня инет кончился:)

sasha007

да
я бы это тоже так назвала

sergey_m

Яндекс на это словосочетание находит исключительно форумы и архивы рассылоок на компьютерную тематику.

sasha007

хм
и чего?
не пойму чего-то

sOKol42

сфета! начами спать нада, а не программить на плюсах. нах.

CapitanJack

100 пудофф
Оставить комментарий
Имя или ник:
Комментарий: