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

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

Войти
Регистрация
Восстановить пароль
 
MoonGuard
12 / 12 / 0
Регистрация: 05.04.2012
Сообщений: 127
#1

Статические и нестатические данные - C++

07.12.2012, 21:20. Просмотров 345. Ответов 0
Метки нет (Все метки)

Проблема в том, что первый код работает, а на второй выдает ошибку:
error C2355: this: может указываться только в нестатических членах-функциях
Код 1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
System::Void Form3::button1_Click(System::Object^  sender, System::EventArgs^  e) {
    Form2^ f2 = dynamic_cast<Form2^>((dynamic_cast<Form1^ >(this->Owner))->f2);
    ColorDialog^ colorDialog1 = gcnew ColorDialog();
    // Keeps the user from selecting a custom color.
    colorDialog1->AllowFullOpen = false;
    // Allows the user to get help. (The default is false.)
    colorDialog1->ShowHelp = true;
    // Sets the initial color select to the current text color.
    if(!f2==0){
        f2->textBox1->ForeColor = colorDialog1->Color; 
        if ( colorDialog1->ShowDialog() == ::System::Windows::Forms::DialogResult::OK ){
            f2->textBox1->ForeColor = colorDialog1->Color;
        }
    }
}
Код 2
C++
1
2
3
4
System::Void radioButton1_CheckedChanged(System::Object^  sender, System::EventArgs^  e){
    Form2^ f2 = dynamic_cast<Form2^>((dynamic_cast<Form1^ >(this->Owner))->f2);
    //f2->textBox1->BackColor = BlackColor.Black;
}
Всё выносится в .cpp файлик.

Добавлено через 6 минут
Проблема решена, возникла из-за невнимательности. Добавил Form3:: и всё заработало. Вот как выглядит исправный код, если кому-то поможет:
C++
1
2
3
4
System::Void Form3::radioButton1_CheckedChanged(System::Object^  sender, System::EventArgs^  e){
    Form2^ f2 = dynamic_cast<Form2^>((dynamic_cast<Form1^ >(this->Owner))->f2);
    //f2->textBox1->BackColor = BlackColor.Black;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2012, 21:20     Статические и нестатические данные
Посмотрите здесь:

Ошибка: Нельзя инициализировать статические данные в конструкторе - C++
Ошибка: Нельзя инициализировать статические данные в конструкторе. //#include &lt;string.h&gt; #include &lt;stdio.h&gt; //#include &lt;conio.h&gt; ...

статические переменные - C++
class A { public: A(){} void f() { A::_a = this; } private: static A *_a;

Статические библиотеки - C++
Как создать статическую библиотеку? Использую в турбо с. Я чего-то не то делаю? Создала файл LIB.H с кодом #ifndef MY_COOL_LIBRARY...

Статические переменные - C++
В чем польза использовать статические переменные вместо обыкновенных публичных в определении класса. К примеру: class record { ...

статические функции - C++
Всем здрасьте. У меня тут впоросик на счёт static функций. я знаю как работает static с переменной. Но как он работает с функциями? к...

Одномерные статические массивы - C++
1) Необходимо удалить все четные элементы 2) Необходимо добавить k элементов в начало массива. 3) Необходимо переставить четные...

Asm статические константы - C++
//================================================================================================= class TLongInteger {...

Классы, статические элементы - C++
Помогите разобрать, что делает данный кусок программы. Желательно построчно - на уровне работы компилятора. Спасибо. class A{ int...

двумерные статические массивы - C++
Дана квадратная матрица. Отсортировать по убыванию первую её строку и все строки содержащие элементы, равные наибольшему элементу матрицы. ...

Статические свойства классов - C++
Есть класс со статическим свойством class Data { protected: static char *str, *newStr; static unsigned long writedBytes,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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