Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/30: Рейтинг темы: голосов - 30, средняя оценка - 4.87
3 / 3 / 0
Регистрация: 19.11.2011
Сообщений: 128
1

Ошибка "Operator '*' cannot be applied to operands of type 'ChordLib.Coeff' and 'double'"

13.12.2012, 00:27. Показов 5791. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что делать в данном случае?


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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ChordLib
{
  /// Абстрактне представлення функції та методу її тестування
  abstract public class AFunction
  {
    /// Абстрактний опис функції
    abstract public double Func(double x);
 
    /// Виводить на консоль таблицю значень аргументу та функції
    public void Test(string name, double from, double to, double step)
    {
      Console.WriteLine("*********** " + GetType() + " ***********");
      for (double x = from; x <= to; x += step)
        // Форматоване виведення аргументу та функції:
        Console.WriteLine("t = {1}   \t {0}(t) = {2}", name, x, Func(x));
    }
  }
  public struct Coeff
  {
      [System.Xml.Serialization.XmlAttributeAttribute()]
      public double C { get; set; }
  }
    abstract public class FFunction : AFunction
  {
    /// Абстрактний індексатор для доступу до коефіцієнтів
    abstract public  Coeff this[int index] { get; set; }
 
    
    /// Повертає кількість коефіцієнтів A
    abstract public int ACount { get; }
 
 
    /// Додає новий коефіцієнт A
    abstract public void AddA(Coeff p);
 
    
    /// Видаляє останній коефіцієнт A
    abstract public void RemoveLastA();
 
    public IEnumerator<Coeff> GetEnumerator()
    {
        for (int i = 0; i < ACount; i++)
            yield return this[i];
    }
    /// Обчислює функцію f(t)
    public override double Func(double x)
    {
      double pol = 0;
      for (int i = 0; i < ACount; i++)
           pol += this[i] * Math.Pow(x, ACount - 1 - i);  //Operator '*' cannot be applied to operands of type 'ChordLib.Coeff' and 'double'    C
 
      return pol;
    }
  }
Добавлено через 2 часа 42 минуты
Коллеги
очень нужна ваша помощь

Как мне исправить это?
C#
1
//Operator '*' cannot be applied to operands of type 'ChordLib.Coeff' and 'double'

C#
1
2
3
4
5
6
7
8
public override double Func(double x)
    {
      double pol = 0;
      for (int i = 0; i < ACount; i++)
           pol += this[i] * Math.Pow(x, ACount - 1 - i);  //Operator '*' cannot be applied to operands of type 'ChordLib.Coeff' and 'double'
 
      return pol;
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2012, 00:27
Ответы с готовыми решениями:

operator '==' cannot be applied to operands of type 'int' and 'bool'
int staw = Convert.ToInt32(Console.ReadLine()); Random...

Operator '&' cannot be applied to operands of type 'bool' and 'int'
using System; public class Program { public static void x(int num1 = 0, int num2 = 0,...

Почему появляется ошибка "Operator '-' cannot be applied to operands of type 'string' and 'int'"
Подскажите почему появляется ошибка в 21 строке? Operator '-' cannot be applied to operands of...

Assets\Scripts\SellResurs.cs(44,12): error CS0019: Operator '>' cannot be applied to operands of type 'string' and 'stri
using System.Collections; using System.Collections.Generic; using UnityEngine; using...

1
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
13.12.2012, 11:39 2
Видимо, ваш индексатор this[i] возвращает объект типа ChordLib.Coeff.
Результат индексатора вы пытаетесь умножить на double. Но компилятор понятия не имеет, как умножать числа на экземляры пользовательских классов, отсюда и ошибка
Скорее всего, из вашего объекта ChordLib.Coeff нужно вытянуть свойство C, и уже его умножать.
C#
5
pol += this[i].C * Math.Pow(x, ACount - 1 - i);
0
13.12.2012, 11:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2012, 11:39
Помогаю со студенческими работами здесь

Не понимаю почему выдает ошибку "Operator '>' cannot be applied to operands of type 'object' and 'int'"
Здравствуйте. У меня проблема с кодом, не понимаю почему выдает ошибку. private void...

Operator '||' cannot be applied to operands of type 'byte' and 'byte'
Доброго времени суток! Появилась некоторая проблема в работе с массивом... Есть 2 массива типа...

[Error] invalid operands of types '<unresolved overloaded function type>' and 'double' to binary 'operator*'
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; /* run this program using the console...

Ошибка: invalid operands of types 'double' and 'double' to binary 'operator^'
Не пропускает функцию компилятор, выдает ошибку invalid operands of types 'double' and 'double'...

Ошибка: invalid operands of types 'double' and 'int' to binary 'operator%'
Я писал программу и решил скомпилировать. В этих строках возникли ошибки. n = rint((a / pow(10,...

Ошибка error CS0034: Operator '-' is ambiguous on operands of type 'Vector2' and 'Vector3'
В коде ошибка, как это исправить буду благадарен, код для управление персонажем с помощью Raw...

invalid operands of types ‘double*’ and ‘double’ to binary ‘operator*’
#include &quot;mpi.h&quot; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #define count 120...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru