Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wolf1396
6 / 6 / 0
Регистрация: 07.05.2013
Сообщений: 212
#1

>< студия косячит или я? - C++

11.01.2014, 14:38. Просмотров 223. Ответов 1
Метки нет (Все метки)

помогите разобраться, я уже задолбался воевать со студией, постоянно что-то не нравится, некоторые буквы в слове синие, остальные черные. например, float, oat-синие, fl - черные, => ошибка
может и здесь так?

если нет, посоветуйте, как исправить

win 7, profes, x64, VS2012
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// lw1cpp.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
#include <string.h>
using namespace std;
/*
Функция чтения из файла
 
1-переменной file присваивается файл, открытый для чтения;
2-пока не будет достигнут конец файла, будут считываться данные,
записываться в переменную для хранения temp, а данные из переменной temp
будут добавляться в конец вектора input;
3-закрывается файл, чтобы не было ошибок;
 
*/
template <typename T> void readFromFile(std::string input_file, vector <T> input)
{
    ifstream file(input_file.c_str());  //1
    T temp;
    while (!file.eof())     //2
    {
        file >> temp;
        input.push_back(temp);
    }
    file.close();   //3
}
 
 
 
 
 
 
/*
Функция запись в файл
 
1-переменной file присваивается файл, открытый для записи;
2-циклом записываем данные из вектора output в файл
3-закрывается файл, чтобы не было ошибок;
 
(с англ. filing == запись в файл)
*/
template <typename T> void filing(string output_file, vector <T> input)
{
    ofstream file(output_file.c_str()); //1
    vector <T> output::iterator iter_out;
    for (iter_out=output.begin();iter_out!=output.end(); iter_out++)
    {
        file << *iter_out;
    }
    file.close();
}
 
template <typename T> bool compareItems(T x, T y);
template <typename T> void sortItems(vector <T> input, vector <T>& output);
 
string input_file,output_file;
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");//Ф-ция исп-ся для корректного отображения русского языка
    /*
    кол-во входных пар-ов должно быть равно 5
    1 - "имя исполняемого файла (например, lw1cpp.exe)"
    2 - "-f/i/s"
    3 - "-a/d"
    4 - "название_исходного_файла"
    5 - "название_файла_для_сохранения_результата"
    */
    if (argc==5)    
    {
        //если тип float    
        if (argv[1][1]=='f')
        {
            std::vector <float> input;
            std::vector <float> output;
            readFromFile(input_file, input);
            sortItems(input, output);
            filing(output_file, output);
 
        }
        //если тип int
        if (argv[1][1]=='i')
        {
            std::vector <int> input;
            std::vector <int> output;
            readFromFile(input_file, input);
            sortItems(input, output);
            filing(output_file, output);
        }
        //если тип string
        if (argv[1][1]=='s')
        {
            std::vector <string> input;
            std::vector <string> output;
            readFromFile(input_file, input);
            sortItems(input, output);
            filing(output_file, output);
        }
    }
    //в случае, если кол-во входных пар-ов <5, будет выведена ошибка:
    else
    {
        std::cout << "Проверьте кол-во параметров запуска и повторите запуск" << std::endl;
    }
 
 
    return 0;
}
template <typename T> bool compareItems(T x, T y)
{
    return x>y;
}
 
 
template <typename T> void sortItems(vector <T> input, vector <T>& output)
{
    if (argv[2][1]=='a')
    {
        sort(const T& x,const T& y);
        memcpy(input.begin(), input.end(); vector <T>& ouput);
    }
    if (argv[2][1]=='d')
    {
        sort(const T& x,const T& y, compareItems);
        memcpy(input.begin(), input.end(); vector <T>& ouput);
    }
}

Кликните здесь для просмотра всего текста
1>------ Построение начато: проект: lw1cpp, Конфигурация: Debug Win32 ------
1> lw1cpp.cpp
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(121): error C2065: argv: необъявленный идентификатор
1> c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(81): см. ссылку на создание экземпляров функции шаблон при компиляции "void sortItems<float>(std::vector<_Ty>,std::vector<_Ty> &)"
1> with
1> [
1> _Ty=float
1> ]
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(123): error C2065: x: необъявленный идентификатор
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(123): error C2275: T: недопустимое использование этого типа в качестве выражения
1> c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(131): см. объявление "T"
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(123): error C2065: y: необъявленный идентификатор
1> c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(131): см. объявление "T"
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(123): error C2780: void std::sort(_RanIt,_RanIt,_Pr): требует аргументов: 3, имеется: 2
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\algorithm(3864): см. объявление "std::sort"
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(124): error C2143: синтаксическая ошибка: отсутствие ")" перед ";"
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(124): error C2660: memcpy: функция не принимает 2 аргументов
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(124): error C2059: синтаксическая ошибка: )
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(124): error C2530: ouput: ссылки должны быть инициализированы
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(126): error C2065: argv: необъявленный идентификатор
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(128): error C2143: синтаксическая ошибка: отсутствие ")" перед "const"
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(128): error C2780: void std::sort(_RanIt,_RanIt,_Pr): требует аргументов: 3, имеется: 0
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\algorithm(3864): см. объявление "std::sort"
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(128): error C2780: void std::sort(_RanIt,_RanIt): требует аргументов: 2, имеется: 0
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\algorithm(3699): см. объявление "std::sort"
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(128): error C2059: синтаксическая ошибка: )
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(129): error C2143: синтаксическая ошибка: отсутствие ")" перед ";"
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(129): error C2660: memcpy: функция не принимает 2 аргументов
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(129): error C2059: синтаксическая ошибка: )
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(129): error C2530: ouput: ссылки должны быть инициализированы
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(50): error C2653: output: не является именем класса или пространства имен
1> c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(82): см. ссылку на создание экземпляров функции шаблон при компиляции "void filing<float>(std::string,std::vector<_Ty>)"
1> with
1> [
1> _Ty=float
1> ]
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(50): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "iter_out"
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(50): error C2065: iter_out: необъявленный идентификатор
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(51): error C2065: iter_out: необъявленный идентификатор
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(51): error C2065: output: необъявленный идентификатор
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(51): error C2228: выражение слева от ".begin" должно представлять класс, структуру или объединение
1> тип: 'unknown-type'
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(51): error C2228: выражение слева от ".end" должно представлять класс, структуру или объединение
1> тип: 'unknown-type'
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(53): error C2065: iter_out: необъявленный идентификатор
1> c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(131): см. объявление "T"
1> c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(131): см. объявление "T"
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\algorithm(3864): см. объявление "std::sort"
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\algorithm(3864): см. объявление "std::sort"
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\algorithm(3699): см. объявление "std::sort"
1>c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(27): error C2679: бинарный ">>": не найден оператор, принимающий правый операнд типа "std::string" (или приемлемое преобразование отсутствует)
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(1053): может быть "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(1060): или "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(1067): или "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(1074): или "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(1084): или "std::basic_istream<_Elem,_Traits> &std::operator >><char,std::char_traits<char>,T>(std::basic_istream<_Elem,_Traits> &&,_Ty &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> T=std::string,
1> _Ty=std::string
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(193): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_istream<_Elem,_Traits> &(__cdecl *)(std::basic_istream<_Elem,_Traits> &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(199): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(206): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::ios_base &(__cdecl *)(std::ios_base &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(213): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::_Bool &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(232): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(short &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(267): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned short &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(286): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(int &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(312): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned int &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(330): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(348): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned long &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(368): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(__int64 &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(387): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned __int64 &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(406): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(float &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(425): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(double &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(443): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long double &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(461): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(void *&)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(480): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_streambuf<_Elem,_Traits> *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> при попытке сопоставить список аргументов "(std::ifstream, std::string)"
1> c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(99): см. ссылку на создание экземпляров функции шаблон при компиляции "void readFromFile<std::string>(std::string,std::vector<_Ty>)"
1> with
1> [
1> _Ty=std::string
1> ]
1> c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(131): см. объявление "T"
1> c:\users\user\documents\visual studio 2012\projects\lw1cpp\lw1cpp\lw1cpp.cpp(131): см. объявление "T"
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\algorithm(3864): см. объявление "std::sort"
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\algorithm(3864): см. объявление "std::sort"
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\algorithm(3699): см. объявление "std::sort"
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 14:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос >< студия косячит или я? (C++):

Косячит сортировка диагонали матрица - C++
матрицы:) Задача такая: &quot;Переставить столбцы матрицы так, чтобы элементы, расположенные на главной диагонали, образовывали неубывающую...

Афинные преобразования. Косячит поворот - C++
Помогите разобраться пожалуйста в чем дело: Есть задание нарисовать полукруг и повернуть его, отмасштабировать и переместить. Последние...

Студия 2010 - C++
В один прекрасный момент MSVS перестал мне при отладке показывать локальные переменные. Подскажите что с ним могло произойти? Может в...

Студия выдает ошибки - C++
Студия при компиляции выдает ошибки, раньше на пк стояла другая винда там все работало а с новой не хочет, компилирует тока си-шарп,...

Студия с командной строки - C++
Меня окончательно задолбали IDE, и я хочу юзить с командной строки c++ компиляторы студии: 1. Microsoft Developmet Studio 4.0, 2....

Так установилась ли студия? - C++
Вы знаете, был совершено уверен, что позавчера установил визуал студию 2012. Она не брыкалась, минут за 5-8 стала и сообщила о установке...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
11.01.2014, 14:52 #2
да код кривой на каждом шагу.
и ошибки об этом говорят. почитать не судьба разве:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
template <typename T> void sortItems(vector <T> input, vector <T>& output)
{
    if (argv[2][1]=='a') // что такое argv? что-то глобальное? нет!
    {
        sort(const T& x,const T& y); что такое x и y? зачем к ним типы. разве так функции вызываются? нет!
        memcpy(input.begin(), input.end(); vector <T>& ouput); // тут зачем тип для output?
    }
    if (argv[2][1]=='d')
    {
        sort(const T& x,const T& y, compareItems);
        memcpy(input.begin(), input.end(); vector <T>& ouput);
    }
}
C++
1
2
3
4
5
6
7
8
9
10
template <typename T> void filing(string output_file, vector <T> input) // инпут по ссылке наверно надо.
{
    ofstream file(output_file.c_str()); //1
    vector <T> output::iterator iter_out; // что это за запись? что такое тут output?
    for (iter_out=output.begin();iter_out!=output.end(); iter_out++)
    {
        file << *iter_out;
    }
    file.close();
}
остальное не смотрел.
смотрите ошибки и справляйте. вероятность того, что вы наткнетесь на баг в студии - ничтожна мала
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2014, 14:52
Привет! Вот еще темы с ответами:

CreatProcess() и 2012 Студия - C++
Не могу разобраться с типом LPWSTR. В 6.0 работает и не жужжит, а в 12 ругается. Что такого особенного в 12, и как проще всего решить...

Ругается студия на индефикатор - C++
Ругается на &lt;&lt; перед cout и на return 0; #include &lt;iostream&gt; int(main) { std::&lt;&lt; cout &lt;&lt; &quot;Move options: \n&quot;; std:: &lt;&lt;...

Студия не воспринимает операторы С++ - C++
С недавнего времени Visual Studio 2010 перестал идентифицировать операторы С++. Для примера в этом коде #include &lt;iostream&gt; #include...

Студия зависает намертво при отладке - C++
Здравствуйте. У меня следующая проблема. По учёбе пользуюсь десятой студией. Последние 2 года писал на С#. Возникла необходимость написать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru