Все мои ошибки одинаково, и я не могу понять, почему. Любой совет был бы полезным. Я должен использовать процедурный C ++. < /P>
#include
typedef struct Elem {
float Element;
}ELEM;
typedef struct Vector {
unsigned int size = 0;
Elem *numbers[];
}VECTOR;
// print_vec:
// prints the vector array if it isn't NULL
// in:
// RefToVector - single dimensional array of Elem's
// Out:
// Returns true if the array isn't NULL and it has something to print, NULL if otherwise
bool print_vec(Vector *numbers) {
if (numbers != NULL) {
printf("%f", numbers);
return true;
}
else {
return NULL;
}
}
// *alloc_vec
// Allocates an empty vector array
// In:
// Nothing
// Out:
// A newly allocated vector array
Vector *alloc_vec() {
Vector *numbers = new Vector;
return numbers;
}
// dealloc_vec
// deallocates array
// In:
// an allocated array
// out:
// Return: True if successfull, NULL if not
void dealloc_vec(Vector *numbers) {
delete Vector *numbers;
}
// extend_vec
// Extends the vector by one element in size
// In:
// Vector array of x elements
// Out:
// Vector array of x + 1 elements
// Return:
// A pointer to the new vector
Vector *extend_vec(Vector *numbers, Elem) {
Vector *bigger = alloc_vec();
bigger->size = numbers->size + 1; // set the size of the new vector to the size of the old plus one more element
for (int i = 0; i size; i++) {
bigger = numbers; // step through the vectors and copy the values
}
bigger[bigger->size-1] = Elem; // set last place in the new vector to the new element
return bigger;
}
// scalar_plus
// Steps through the vector elements' and adds the same value to all of them
// In:
// Reference to a vector(array)
// Out:
// Return: reference to vector with Elem value added to each
Vector *scalar_plus(Vector *numbers, Elem) {
for (unsigned int i = 0; i size; i++){
numbers = numbers + Elem;
}
return numbers;
}
< /code>
Мои ошибки все одинаковы. И вот они < /p>
vecalc.cc:49:12: error: 'Vector' does not refer to a value
delete Vector *numbers;
^
vecalc.cc:8:16: note: declared here
typedef struct Vector {
^
vecalc.cc:67:30: error: 'Elem' does not refer to a value
bigger[bigger->size-1] = Elem; // set last place in the new vector t...
^
vecalc.cc:4:16: note: declared here
typedef struct Elem {
^
vecalc.cc:64:23: warning: comparison of integers of different signs: 'int' and
'unsigned int' [-Wsign-compare]
for (int i = 0; i size; i++) {
~ ^ ~~~~~~~~~~~~~
vecalc.cc:81:35: error: 'Elem' does not refer to a value
numbers = numbers + Elem;
^
vecalc.cc:4:16: note: declared here
typedef struct Elem {
^
vecalc.cc:98:4: error: 'Vector' does not refer to a value
*Vector = *alloc_vec();
^
vecalc.cc:8:16: note: declared here
typedef struct Vector {
^
vecalc.cc:99:11: error: 'Vector' does not refer to a value
assert(&Vector == NULL)
^
vecalc.cc:8:16: note: declared here
typedef struct Vector {
^
vecalc.cc:103:14: error: 'Vector' does not refer to a value
print_vec(*Vector);
^
vecalc.cc:8:16: note: declared here
typedef struct Vector {
^
< /code>
И потому что все они одинаковы, я уверен, если я выясню, как его исправить, я получу их все .. < /p>
Подробнее здесь: https://stackoverflow.com/questions/403 ... procedural
«Не ссылается на значение» в процедурной процедуре C ++ ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1758324293
Anonymous
Все мои ошибки одинаково, и я не могу понять, почему. Любой совет был бы полезным. Я должен использовать процедурный C ++. < /P>
#include
typedef struct Elem {
float Element;
}ELEM;
typedef struct Vector {
unsigned int size = 0;
Elem *numbers[];
}VECTOR;
// print_vec:
// prints the vector array if it isn't NULL
// in:
// RefToVector - single dimensional array of Elem's
// Out:
// Returns true if the array isn't NULL and it has something to print, NULL if otherwise
bool print_vec(Vector *numbers) {
if (numbers != NULL) {
printf("%f", numbers);
return true;
}
else {
return NULL;
}
}
// *alloc_vec
// Allocates an empty vector array
// In:
// Nothing
// Out:
// A newly allocated vector array
Vector *alloc_vec() {
Vector *numbers = new Vector;
return numbers;
}
// dealloc_vec
// deallocates array
// In:
// an allocated array
// out:
// Return: True if successfull, NULL if not
void dealloc_vec(Vector *numbers) {
delete Vector *numbers;
}
// extend_vec
// Extends the vector by one element in size
// In:
// Vector array of x elements
// Out:
// Vector array of x + 1 elements
// Return:
// A pointer to the new vector
Vector *extend_vec(Vector *numbers, Elem) {
Vector *bigger = alloc_vec();
bigger->size = numbers->size + 1; // set the size of the new vector to the size of the old plus one more element
for (int i = 0; i size; i++) {
bigger[i] = numbers[i]; // step through the vectors and copy the values
}
bigger[bigger->size-1] = Elem; // set last place in the new vector to the new element
return bigger;
}
// scalar_plus
// Steps through the vector elements' and adds the same value to all of them
// In:
// Reference to a vector(array)
// Out:
// Return: reference to vector with Elem value added to each
Vector *scalar_plus(Vector *numbers, Elem) {
for (unsigned int i = 0; i size; i++){
numbers[i] = numbers[i] + Elem;
}
return numbers;
}
< /code>
Мои ошибки все одинаковы. И вот они < /p>
vecalc.cc:49:12: error: 'Vector' does not refer to a value
delete Vector *numbers;
^
vecalc.cc:8:16: note: declared here
typedef struct Vector {
^
vecalc.cc:67:30: error: 'Elem' does not refer to a value
bigger[bigger->size-1] = Elem; // set last place in the new vector t...
^
vecalc.cc:4:16: note: declared here
typedef struct Elem {
^
vecalc.cc:64:23: warning: comparison of integers of different signs: 'int' and
'unsigned int' [-Wsign-compare]
for (int i = 0; i size; i++) {
~ ^ ~~~~~~~~~~~~~
vecalc.cc:81:35: error: 'Elem' does not refer to a value
numbers[i] = numbers[i] + Elem;
^
vecalc.cc:4:16: note: declared here
typedef struct Elem {
^
vecalc.cc:98:4: error: 'Vector' does not refer to a value
*Vector = *alloc_vec();
^
vecalc.cc:8:16: note: declared here
typedef struct Vector {
^
vecalc.cc:99:11: error: 'Vector' does not refer to a value
assert(&Vector == NULL)
^
vecalc.cc:8:16: note: declared here
typedef struct Vector {
^
vecalc.cc:103:14: error: 'Vector' does not refer to a value
print_vec(*Vector);
^
vecalc.cc:8:16: note: declared here
typedef struct Vector {
^
< /code>
И потому что все они одинаковы, я уверен, если я выясню, как его исправить, я получу их все .. < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/40325010/does-not-refer-to-value-error-in-c-procedural[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия