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

Ошибка при передаче параметра в функцию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить программу, которая по введенному номеру выполняет то или иное действие над числами http://www.cyberforum.ru/cpp-beginners/thread1695881.html
Даны два действительных положительных числа x и y. Арифметические действия над числами пронумерованые (1-сложение, 2-вычитание, 3-умножение, 4-деление).Составить программу, которая по введенному номеру выполняет то или иное действие над числами. p.s решите кто сможет за ранее всем спасибо кто поможет внести в клад программу.)))
C++ Дана строка, содержащая полное имя файла. на С++ Дана строка, содержащая полное имя файла. Выделить из этой строки название последнего каталога (без символов «\»). Если файл содержится в корневом каталоге, то вывести символ «\». Полное Имя файла вводить вручную.. нужно переписать на С++ Пример решения на Паскале // Дана строка, содержащая полное имя файла. // Выделить из этой строки название последнего каталога (без символов «\»). ... http://www.cyberforum.ru/cpp-beginners/thread1695880.html
Выделить из строки название последнего каталога C++
Дана строка, содержащая полное имя файла. Выделить из этой строки название последнего каталога (без символов \). Если файл содержится в корневом каталоге, то вывести символ \. Имя файла ввожу вручную.
C++ Утечка памяти?
В Лафоре такой код: #include <iostream> using namespace std; /////////////////////////////////////////////////////////// class person // класс человек { private: char name; // имя человека public: void setName() // установка имени
C++ Func(std::move(.) копирует ? http://www.cyberforum.ru/cpp-beginners/thread1695847.html
Здравствуйте, имеется следующий код: void foo(std::vector<int>&& v) { std::cout << "vector is taken" << std::endl; std::cout << v << std::endl; } int main() {
 

Показать сообщение отдельно
6o6ep4ik
 Аватар для 6o6ep4ik
-9 / 0 / 0
Регистрация: 23.10.2015
Сообщений: 175
27.03.2016, 12:35     Ошибка при передаче параметра в функцию
В ДЗ есть пример кода, помогите пожалуйста исправить, до работающего варианта (VS2015).
Ошибки: (32) error C2660: strcpy_s: функция не принимает 2 аргументов
(43) error C2065: i: необъявленный идентификатор
(54) error C2660: strcpy_s: функция не принимает 2 аргументов
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
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <istream>
#define SIZE 255
using namespace std;
 
class X {
    char *str;
    char *str_return;
public:
    X(); //конструктор по-умолчанию
    X(char*); //конструктор, которому можно передавать параметр
    ~X(); //деструктор
    char* Run(); //метод, выполняющий поставленную задачу. 
    void Set(char*);
    friend void print(X&); //функция-друг печати
    friend ostream& operator<<(ostream&, X&); //перегрузка оператора вывода
    friend istream& operator>>(istream&, X&); //перегрузка оператора ввода
    friend char* Run(X&); //функция-друг, выполняющий поставленную задачу. 
};
 
X::X() {
    str = new char[SIZE];
    str[0] = '\0';
    str_return = new char[SIZE];
    str_return[0] = '\0';
};
X::X(char *s) {
    str = new char[SIZE];
    strcpy_s(str, s);
    str_return = new char[SIZE];
    str_return[0] = '\0';
};
X::~X() {
    delete[] str;
    cout << "...destructor has been called" << endl;
};
void X::Set(char* s) {
    for (unsigned int i = 0; i<strlen(s); i++)
        str[i] = s[i];
    str[i] = '\0';
};
char* X::Run() { /*метод, решающий конкретную задачу, в данном случае - выделение из строки подстроки, не содержащей заглавных латинских букв, если длина исходной строки меньше 10*/
    int j = 0;
    if (strlen(str)<10) {
        for (unsigned int i = 0; i<strlen(str); i++)
            if (((int)str[i]<65) || ((int)str[i]>90)) {
                str_return[j] = str[i]; j++;
            };
        str_return[j] = '\0';
    }
    else strcpy_s(str_return, str);
 
    return str_return;
};
char* Run(X &obj) { return obj.Run(); };
void print(X &obj) { cout << obj.str << " " << obj.str_return << endl; };
ostream& operator<<(ostream &stream, X &ob) {
    stream << ob.str;
    return stream;
};
istream &operator>>(istream &stream, X &ob) {
    stream >> ob.str;
    return stream;
};
 
void main(void) {
    char s[265];
 
    cout << "Type anything and press "Enter":" << endl;
    cin.getline(s, 256); //считываем полностью всю строку
    X str(s); //доступ к методам класса непосредственно через переменную,
              //начальное значение устанавливаем через конструктор
    cout << "You have type:" << endl;
    print(str);
    cout << "Output string:" << endl;
    cout << Run(str) << endl;
    cout << "Type anything and press "Enter":" << endl;
    cin.getline(s, 256);
    X *pstr; //доступ к методам класса через указатель
    pstr = new X();
    pstr->Set(s);
    cout << "You have type:" << endl;
    print(*pstr);
    cout << "Output string:" << endl;
    cout << Run(*pstr) << endl;
    delete pstr;
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru