154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 397
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Опять указатели05.09.2013, 13:55. Показов 1474. Ответов 18
Метки нет (Все метки)
Здравствуйте. Изучаю эти туториалы: http://www.rastertek.com/dx11tut03.html В конце есть упражнение: конфигурацию видеокарты вывести в текстовой документ. Есть файл: d3dclass.cpp, ну и d3dclass.h соответственно. Там (в d3dclass.cpp) есть метод:
Код
initial value of reference to non-const must be an lvalue
0
|
05.09.2013, 13:55 | |
Ответы с готовыми решениями:
18
Не работает strcmp + указатели непойми что опять выводят Указатели и указатели на указатели, а также типы данных Почему Лафоре использует указатели на указатели, вместо обмена значениями указателей? Через указатели на указатели посчитать сумму двух чисел и записать в третье |
26 / 26 / 0
Регистрация: 10.03.2010
Сообщений: 241
|
||||||
05.09.2013, 14:18 | 2 | |||||
в данном случае вы пытаетесь передать указатель на mem нужно так:
0
|
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 397
|
|
05.09.2013, 14:24 [ТС] | 3 |
Вот когда я делаю так как вы посоветовали, тогда я и получаю эту ошибку при запуске программы (скрин есть)
0
|
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
|
|
05.09.2013, 14:29 | 4 |
А для чего нужна mem?
Добавлено через 2 минуты Объявление или прототип функции
0
|
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 397
|
|
05.09.2013, 14:35 [ТС] | 5 |
desc - это информация о видеокарты (например NVIDIA GeForce 540M) а mem - это размер памяти этой видеокарты, в программе показывает 1994 почему-то. Хотя я думал, у меня гигабайт памяти в карте. Где я увидел эту инфу? Вот скрин.
0
|
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
|
|
05.09.2013, 14:47 | 6 |
Пробегись построчно по коду и найди строчку, после выполнения которой вылезает эксцепшн (и выложи сюда эту строчку )
0
|
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 397
|
|||||||||||
05.09.2013, 14:55 [ТС] | 7 | ||||||||||
ошибка в файле tcscpy_s.inl вот код
Если попытаться обойти эту проблему. То, как бы вы посоветовали вывести в файл конфигурацию? Я бы создал метод в d3dclass.cpp и использовал этот метод в main. Как думаете, правильно ли с точки зрения программирвоания? спасибо
0
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
05.09.2013, 14:58 | 8 |
сдается мне гдето здесь ошибка, может дескрипшн меньше 128 символов или cardName маленький
в ошибке написано что буффер как раз маленький(cardName в данном случае видимо)
0
|
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 397
|
|
05.09.2013, 15:02 [ТС] | 9 |
А как исправить-то это?
0
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
05.09.2013, 15:05 | 10 |
а m_videoCardDescription откуда пришло
0
|
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 397
|
||||||
05.09.2013, 15:08 [ТС] | 11 | |||||
0
|
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
|
|
05.09.2013, 15:10 | 12 |
Как я и ожидал, эксцепшн вылезет в strcpy. Но судя по мелкомягкому алгоритму, вызов исключения мог быть вызван только недостаточным размером конечного буффера, что очень странно (15000 должно с головой хватать). Даже и не знаю что посоветовать, проверь хотя бы, выделяется ли под desc память
1
|
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 397
|
|
05.09.2013, 15:11 [ТС] | 13 |
изменил я 128 на 512, ошибка исчезла. Теперь другая проблема!
Я предполагаю, что чувак, который выложил этот туториал сделал баговый метод.
0
|
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
|
|
05.09.2013, 15:12 | 14 |
1
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
05.09.2013, 15:15 | 15 |
возможно где то должно быть взятие этих параметров видеокарты, прежде чем просто брать переменную m_videoCardDescription
1
|
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
|
|
05.09.2013, 15:16 | 16 |
Ты уверен, что используемый тобою класс (D3DClass) работоспособен? Сдается мне, он криво написан...
Ой, ты же уже написал что неуверен Добавлено через 1 минуту Нужны исходники класса
1
|
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 397
|
|
05.09.2013, 15:49 [ТС] | 17 |
В общем я разобрался. В классе D3DClass.cpp происходит инициализация дайрект икса. Там и создаются переменные всяких непонятных типов, которые потом достают данные видеокарты. У меня теперь такой вопрос: как лучше вывести параметры видеокарты в файл. 1 вариант: в самой инициализации тупо написать код, чтобы записались данные в файл. 2 вариант: Создать метод в D3DClass.cpp, который будет повторно доставать откуда-то данные о моей карте и возвращать значение в Main, откуда я этот метод и вызову. А потом уже записать в файл. Как посоветуете?
Добавлено через 3 минуты Честно скажу, от одной инициализации дайрект икса, меня уже мутит. Очень бы хотел опенгл изучить, да только не вижу хороших новых туториалов. Пишут, что нехе устарел, а альтернативу так и не нашел. В растертеке об опенгл совсем немного к сожалению.
0
|
Raali
|
05.09.2013, 16:06
#18
|
Не по теме: новый Opengl 3.3 +
1
|
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 397
|
|
05.09.2013, 16:09 [ТС] | 19 |
Спасибо). Ничего, у меня с английским нет проблем).
0
|
05.09.2013, 16:09 | |
Помогаю со студенческими работами здесь
19
Используя нетипизированные указатели и указатели на подпрограммы обобщить сортировку пузырьком Есть три переменные. Используя указатели на указатели, поменять значение максимальной и минимальной переменной Указатели на указатели с числами. Почему можно присвоить число в 4-ый элемент, если массив из 2 элементов? Указатели на указатели: для чего они могут понадобятся? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |