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

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

Войти
Регистрация
Восстановить пароль
 
бУРов
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66
#1

error C2679: binary '=' - C++

05.12.2012, 15:41. Просмотров 808. Ответов 6
Метки нет (Все метки)

Здравствуйте! Во время сборки проекта вылезают ошибки вида:
2>MyCode.cpp(1234): error C2679: binary '=' : no operator found which takes a right-hand operand of type 'DWORD' (or there is no acceptable conversion)
2> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\bitset(511): could be 'std::bitset<_Bits> &std::bitset<_Bits>::operator =(const std::bitset<_Bits> &)'
2> with
2> [
2> _Bits=32
2> ]
2> while trying to match the argument list '(std::bitset<_Bits>, DWORD)'
2> with
2> [
2> _Bits=32
2> ]
MyCode.cpp(1234):
C++
1
tmp_bit=*((DWORD*)buf);
("=" подчеркнут красным)
Хочется, "вразумительного" перевода для всего этого, начиная с "binary '=' : no operator found which takes a right-hand operand of type 'DWORD' (or there is no acceptable conversion)..."
У меня получатеся что-то типа: "не найден оператор взятия правого операнда типа 'DWORD'..."

Я понял, что для битовых оперндов нельзя использовать "=", а делать как-то по другому?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2012, 15:41     error C2679: binary '='
Посмотрите здесь:

Error C2679: binary '>>': no operator found which takes a right-hand operand of type - C++
нужно написать программу обработки структур. в программе использовать структуру, содержащую поля с информацией об учащихся: - фамилия и...

Ошибка: error C2679: binary '<<' : no operator found which takes a right-hand operand of type - C++
Нужно создать класс List для представления простого списка. Подскажите, почему появляется такая ошибка: error C2679: binary '&lt;&lt;' : no...

Исправить ошибку "error C2679: binary '*' : no operator found which takes a right-hand operand of type" - C++
matiza.h #pragma once template &lt;typename N&gt; class matriza { protected: int stroka; N *mas; public: matriza()

С++ error C2679 - C++
Не одна из похожих тем не помогла( #include &quot;mfloat2.h&quot; #include &quot;vector.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; void...

error C2679 - C++
// 2_lab.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; int _tmain(int argc, _TCHAR* argv) ...

Error C2679. Ошибка с оператором >> - C++
Есть функция DelColl в классе Firm. Вот её кусок: //Удаление сотрудника void Firm::DelColl(int _Quant) { Quant = _Quant; char...

Ошибка в Коде: error C2679 - C++
НЕ давно начал изучать С++. написал программу которая предоставлена в учебники но она у меня что то не компилируется Вот код: ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
05.12.2012, 15:45     error C2679: binary '=' #2
Цитата Сообщение от бУРов Посмотреть сообщение
tmp_bit=*((DWORD*)buf);
что такое tmp_bit и buf?
бУРов
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66
05.12.2012, 15:51  [ТС]     error C2679: binary '=' #3
C++
1
std::bitset<32> tmp_bit;
C++
1
void CMyClass::MyFunc(BYTE* buf, ...)
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
05.12.2012, 15:56     error C2679: binary '=' #4
В лоб:
C++
1
2
3
4
    std::bitset<32> tmp_bit;
    BYTE b[4]={0,0,0,1};
    BYTE * buf=b;   
    tmp_bit=*((DWORD*)buf);
проблем нет.
бУРов
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66
05.12.2012, 16:05  [ТС]     error C2679: binary '=' #5
В VS2008 таких ошибок почему-то не было. А в 2010 есть (
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
05.12.2012, 16:26     error C2679: binary '=' #6
http://msdn.microsoft.com/ru-ru/libr...=vs.90%29.aspx
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2012, 17:20     error C2679: binary '='
Еще ссылки по теме:

Error C2679: бинарный "=": не найден оператор, принимающий правый операнд - C++
Ошибка 1 error C2679: бинарный &quot;=&quot;: не найден оператор, принимающий правый операнд типа &quot;std::basic_string&lt;_Elem,_Traits,_Alloc&gt;&quot; (или...

Error C2679: бинарный ">>": не найден оператор, принимающий правый операнд - C++
перелопатил кучу форумов, кругом одно и то же - якобы вставь библиотеку и будет счастье. раньше работало нормально. могут ли сторонние...

Error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа - C++
Сразу скажу что в с++ полный ноль. Но есть потребность решить такую вот задачу: Нужно собрать систему распознавания и слежения за лицами...

Error C2679: бинарный "<<": не найден оператор - C++
Кто-нибудь может объяснить, почему компилятор выдает ошибку? (строку с ошибкой смотрите в комментариях) error C2679: бинарный &quot;&lt;&lt;&quot; :...

Найти причины и способы устранения ошибки error C2678: binary '>>' : no operator found - C++
Пожалуйста, помогите найти причины и способы устранения этой ошибки: error C2678: binary '&gt;&gt;' : no operator found which takes a left-hand...


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

Или воспользуйтесь поиском по форуму:
бУРов
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66
05.12.2012, 17:20  [ТС]     error C2679: binary '=' #7
Croessmah, не поможете хоть комментарием или советом ещё как этот кусок переделать, чтобы без ошибок у меня таких. Если какой тип как определен, я покажу.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void CClass::Func(BYTE* buf, BitView* p_chbv)
{
    int length;
    char* imp_buf;
    if(...)
    {
        buf++;
        p_chbv->m_Flags_VT=*((DWORD*)buf);
    }
    else
    {
        p_chbv->n_str=*buf;
        buf++;
        std::bitset<32> tmp_bit;
        tmp_bit=*((DWORD*)buf);
А по ссылке ошибка именно приведена для VS2008. А вот в 2008 у меня собирается без "error C2679".
Yandex
Объявления
05.12.2012, 17:20     error C2679: binary '='
Ответ Создать тему
Опции темы

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