Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/86: Рейтинг темы: голосов - 86, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 4

Ошибка cannot convert 'float' to 'float*'

22.04.2010, 16:32. Показов 17986. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, что означает error: cannot convert 'float' to 'float*' for argument '1' to 'int mas_time(float*, int)'? Из-за чего она появляется и как можно устранить?

Я пытаюсь использовать значения массива из одной функции в другой.

Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.04.2010, 16:32
Ответы с готовыми решениями:

опять ошибка.на этот раз cannot convert `float (*)(float)' to `float' in argument passing
#include<stdio.h> #include<stdlib.h> #include<math.h> float f1(float x)/*vira*enie 1*/ {return (x*cos(x))/(1+ pow(x,2));} ...

ОШИБКА [Error] cannot convert 'int*' to 'float*' for argument '1' to 'void Syma(float*,int*,int)
Какая то проблема с указателями,незнаю,не хочет щитать суму парних чисел в второй подпрограме.Извиниет за ошибки.Не владею руским.Помогите...

cannot convert `float' to `float*. Почему так происходит?
всем привет, помогите исправить ошибки... а то голова мало варит уже, а завтра надо сдать уже #include <stdio.h> #include...

8
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
22.04.2010, 16:39
Функция mas_time требует в качестве 1-го аргумента УКАЗАТЕЛЬ на float, а ты, небось, даешь ей просто float
Надо примерно так
C
1
2
  float x;
  mas_time(&x, ...)
Вообще-то положено выкладывать текст проги или хотя бы его часть, где транслятор увидел ошибку
(он же дает номер строки с ошибкой). А то приходится гадать. Твой случай - простейший, и угадать легко. Это на будущее.
0
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 4
22.04.2010, 16:46  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <math.h>
int  mas_time(float &t,int N)
{
    int i;
    float tn=15,tk=60,dt;
    dt=(tk-tn)/(N-1);
    for(i=0;i<N;i++)
        {t[i]=tn+i*dt;}
    return *t;
}
int mas_Uvh(float *Uvh,int N)
{
    int i;
    float t[i];
    float tn=15,t1=30,a=50,b=0.07,c=0.2;
    for(i=0;i<N;i++)
        {
        if (mas_time(t[i],N)<t1)
Вот кусок программы, что именно нужно изменить? Выдавал ошибку на последней строчке. Исправил, как Вы сказали, теперь пишет main.c++:9: error: invalid types 'float[int]' for array subscript
0
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
22.04.2010, 17:14
Попробуй сделать так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <math.h>
int  mas_time(float *t,int N) //
{
    int i;
    float tn=15,tk=60,dt;
    dt=(tk-tn)/(N-1);
    for(i=0;i<N;i++)
        {t[i]=tn+i*dt;}
    return *t;
}
int mas_Uvh(float *Uvh,int N)
{
    int i;
    float t[10];  // Тут недопустима переменная в качестве размера
    float tn=15,t1=30,a=50,b=0.07,c=0.2;
    for(i=0;i<N;i++)
        {
        if (mas_time(&t[i],N)<t1)  //
Измененные строчки отмечены комментариями //
Почитай внимательно про указатели и передачу параметров в функции
Советую на первых порах работать на чистом С без плюсов, пока с этим делом не разберешься.
Твоей проге (во всяком случае этому фрагменту) никаких плюсов не требуется.
А делается это просто - расширение исходного файла д.б. ".C"

Добавлено через 6 минут
Извиняюсь.
Размера массива t мы не знаем (т.е. он динамический, зависит от N)
Делаем так
C
1
2
  float *t;
  t = malloc(N*sizeof(float));
Это все в функции mas_Uvh
Только не забудь t удалить, когда станет не нужна
C
1
 free(t);  // перед выходом из mas_Uvh
0
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 4
22.04.2010, 17:19  [ТС]
Размерность t задается в первой функции и используется во второй. Если я укажу во второй функции конкретную цифру, то из первой функции ничего передаваться не будет.
Расширение влияет на работу программы?
Исправил все, кроме задания t конкретной цифры, пишет:
/Applications/NetBeans/NetBeans 6.8.app/Contents/Resources/NetBeans/dlight2/bin/nativeexecution/dorun.sh: line 33: 2016 Segmentation fault sh "${SHFILE}"
Press [Enter] to close the terminal ...

malloc - это функция? Если да, то какую библиотеку подключить? Пишет неизвестный индетификатор на этой строчке.
0
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
22.04.2010, 18:13
Цитата Сообщение от Neizer7 Посмотреть сообщение
Размерность t задается в первой функции и используется во второй. Если я укажу во второй функции конкретную цифру, то из первой функции ничего передаваться не будет.
В алгоритм работы проги не вникал, да и не мог, да и не хочу.
В любом случае конструкция
C
1
2
  int i;
  float t[i];
абсолютно безграмотна. Ищи другие пути.
Расширение влияет на работу программы?
Влияет на трансляцию. Чистый С не позволяет некоторых заморочек типа "&t" в определении функции
А С++ позволяет, но в САМОМ ДЕЛЕ передается указатель, чтоб в этом разбираться надо не плавать в этих вопросах, а уверенно ходить. Потому-то я порекомендовал тебе ЧИСТЫЙ С. Он на эту штуку сразу скажет "СТОП".
malloc - это функция? Если да, то какую библиотеку подключить? Пишет неизвестный индетификатор на этой строчке.
Так точно, функция.
C
1
#include "alloc.h"
0
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 4
22.04.2010, 18:31  [ТС]
После подключение библиотеки все равно пишет неизвестный идентификатор, как можно по-другому обыграть это место?
C++
1
2
int i;
  float t[i];
Уже часа 3 над этим сижу.

Ему почему-то не нравится эта строчка:
C++
1
if (mas_Uvh(&Uvh[i],N)<0) {Uvih[i]=0;}
0
36 / 36 / 8
Регистрация: 13.05.2010
Сообщений: 70
13.05.2010, 20:38
Цитата Сообщение от Neizer7 Посмотреть сообщение
int i; float t[i];
ошибка потому как требуется в измеритель массива константное значение
можно вот так написать
C
1
2
#define SIZE_OF_FLOAT_ARR 9
float t[SIZE_OF_FLOAT_ARR];
Добавлено через 10 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <math.h>
int  mas_time(float &t,int N)
{
    int i;
    float tn=15,tk=60,dt;
    dt=(tk-tn)/(N-1);
    for(i=0;i<N;i++)
        {t[i]=tn+i*dt;}
    return *t;
}
int mas_Uvh(float *Uvh,int N)
{
    int i;
    float t[i];
    float tn=15,t1=30,a=50,b=0.07,c=0.2;
    for(i=0;i<N;i++)
        {
        if (mas_time(t[i],N)<t1)
C
1
int  mas_time(float &t,int N) // C - естесна будет ругатцо потому как указатели в C в параметрах функции должны быть `*` а не `&`
если тебе нужен массив float то сделай проще
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
#include <stdio.h>
#include <math.h>
#include <stdlib.h> /* это для malloc,calloc,free,realloc имногих других ф-й*/
int  mas_time(float *t,int N)
{
    int i;
    float tn=15,tk=60,dt;
    dt=(tk-tn)/(N-1);
    for(i=0;i<N;i++)
        {t[i]=tn+i*dt;}
    return *t; /* ужость ты так нормально к типу int не приведешь напиши вот так например:
      return (int)((unsigned long)(*(double *)t)); или return (int)((unsigned long)(double)t[0]);
*/
}
int mas_Uvh(float *Uvh,int N)
{
    int i;
    float *t;
    float tn=15,t1=30,a=50,b=0.07,c=0.2;
    
    t = calloc(sizeof(float), N); /* напиши по себя я использовал calloc чтобы обнулить участок памяти выделенный функцией, т.е t[0] - будет равен 0.0, соотвественно чтобы разместить в t[0] число float нужно умножить размер типа на количество элементов т.е в памяти будет содеражтся число (float) размер которого 4 байта (00 00 00 00) */
    for(i=0;i<N;i++)
        {
        if (mas_time(t[i],N)<t1) /* тут тоже косяк посмотри в декларации функции у тебя float *t, а передаешь ты ему тип float сделай так (по ссцылке :)) mas_time(&t[i], N) */
0
0 / 0 / 0
Регистрация: 03.12.2021
Сообщений: 1
03.12.2021, 04:45
Пожалуйста хелп!)

Не могу интегрировать в работающий код в переменную ppm данные с датчика mq135

Вот код уже с переменной
#define REMOTEXY_MODE__ESP8266WIFI_LIB_CLOUD
#include <ESP8266WiFi.h>
#include <RemoteXY.h>
#include "DHTesp.h"
#include <WiFiUdp.h>
#include <TimeLib.h>
WiFiUDP _ntpUdpServer;
DHTesp _dht1;
extern "C"
{
#include "user_interface.h"
}
#define REMOTEXY_WIFI_SSID "paraberry"
#define REMOTEXY_WIFI_PASSWORD "erlan123"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "3e25374227b7d6982dd8d6b589b656f8"
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] = {255, 2, 0, 12, 0, 184, 0, 13, 31, 1, 68, 49, 1, 19, 61, 16, 78, 8, 208, 162, 208, 181, 208, 188, 208, 191, 208, 181, 209, 128, 208, 176, 209, 130, 209, 131, 209, 128, 208, 176, 32, 208, 178, 208, 190, 208, 183, 208, 180, 209, 131, 209, 133, 208, 176, 0, 68, 49, 1, 38, 61, 16, 78, 8, 208, 146, 208, 187, 208, 176, 208, 182, 208, 189, 208, 190, 209, 129, 209, 130, 209, 140, 0, 2, 1, 44, 60, 17, 8, 78, 8, 31, 31, 79, 78, 0, 79, 70, 70, 0, 2, 0, 1, 3, 61, 13, 78, 8, 31, 31, 208, 146, 208, 154, 208, 155, 208, 174, 208, 167, 208, 152, 208, 162, 208, 172, 32, 208, 161, 208, 146, 208, 149, 208, 162, 0, 208, 146, 208, 171, 208, 154, 208, 155, 208, 174, 208, 167, 208, 152, 208, 162, 208, 172, 32, 208, 161, 208, 146, 208, 149, 208, 162, 0, 68, 49, 1, 57, 40, 16, 78, 8, 208, 163, 209, 128, 208, 190, 208, 178, 208, 181, 208, 189, 209, 140, 32, 67, 79, 50, 0};
struct
{
unsigned char switch_1;
unsigned char switch_2;
float t_1;
float h_1;
float ppm;
unsigned char connect_flag;
}
RemoteXY;
#pragma pack(pop)
bool ESPControllerWifiClient_HRD = 0;
bool ESPControllerWifiClient_status = 1;
bool ESPControllerWifiClient_isDHCP = 1;
bool ESPControllerWifiClient_IsNeedReconect = 0;
bool ESPControllerWifiClient_workStatus = 1;
char ESPControllerWifiClient_SSID[40] = "paraberry";
char ESPControllerWifiClient_password[40] = "erlan123";
IPAddress ESPControllerWifiClient_ip(0, 0, 0, 0);
IPAddress ESPControllerWifiClient_dns (0, 0, 0, 1);
IPAddress ESPControllerWifiClient_gateway (0, 0, 0, 1);
IPAddress ESPControllerWifiClient_subnet (255, 255, 255, 0);
uint8_t ESPControllerWifiClient_mac[6] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
float _gtv1;
float _dht1_humOut = 0.00;
float _dht1_tempOut = 0.00;
unsigned long _dht1Tti = 0UL;
bool _tim2I = 0;
bool _tim2O = 0;
unsigned long _tim2P = 0UL;
bool _trgrt1 = 0;
bool _trgrt1I = 0;
bool _trgrt2 = 0;
bool _trgrt2I = 0;
bool _NTPGetTime1_CR;
unsigned long _NTPGetTime1_lrt;
IPAddress _NTPGetTime1_tsip;
bool _NTPGetTime1_hfp = 0;
bool _NTPGetTime1_iws = 0;
byte _NTPGetTime1_packetBuffer[48];
unsigned long _tempVariable_unsignedlong;
void setup()
{
pinMode(14, OUTPUT);
digitalWrite(14, 0);
pinMode(12, OUTPUT);
digitalWrite(12, 0);
RemoteXY_Init ();
WiFi.mode(WIFI_STA);
_esp8266WifiModuleClientReconnect();
_dht1.setup(5, DHTesp:HT11);
_dht1Tti = millis();
_ntpUdpServer.begin(2390);
_NTPGetTime1_lrt = (millis()) + 30000;
}
void loop()
{
RemoteXY_Handler ();
if(ESPControllerWifiClient_IsNeedReconec t)
{
_esp8266WifiModuleClientReconnect();
ESPControllerWifiClient_IsNeedReconect = 0;
}
ESPControllerWifiClient_status = WiFi.status() == WL_CONNECTED;
if (ESPControllerWifiClient_status)
{
if (! ESPControllerWifiClient_HRD)
{
ESPControllerWifiClient_ip = WiFi.localIP();
ESPControllerWifiClient_subnet = WiFi.subnetMask();
ESPControllerWifiClient_gateway = WiFi.gatewayIP();
ESPControllerWifiClient_dns = WiFi.dnsIP();
WiFi.macAddress(ESPControllerWifiClient_ mac);
ESPControllerWifiClient_HRD = 1;
}
}
else
{
ESPControllerWifiClient_HRD = 0;
}
//Плата:1
if (_NTPGetTime1_CR)
{
_NTPGetTime1_CR = 0;
}
else
{
if (ESPControllerWifiClient_status)
{
if (_NTPGetTime1_iws)
{
if(_isTimer(_NTPGetTime1_lrt, 1000))
{
_tempVariable_unsignedlong = _ntpUdpServer.parsePacket();
if(_tempVariable_unsignedlong)
{
_ntpUdpServer.read(_NTPGetTime1_packetBu ffer, 48);
_tempVariable_unsignedlong = (unsigned long)_NTPGetTime1_packetBuffer[40] << 24;
_tempVariable_unsignedlong |= (unsigned long)_NTPGetTime1_packetBuffer[41] << 16;
_tempVariable_unsignedlong |= (unsigned long)_NTPGetTime1_packetBuffer[42] << 8;
_tempVariable_unsignedlong |= (unsigned long)_NTPGetTime1_packetBuffer[43];
_tempVariable_unsignedlong= _tempVariable_unsignedlong- 2208988800UL + 1;
_tempVariable_unsignedlong = _tempVariable_unsignedlong + 10800;
setTime(_tempVariable_unsignedlong);
_NTPGetTime1_iws = 0;
_NTPGetTime1_CR = 1;
_NTPGetTime1_hfp = 1;
}
else
{
_NTPGetTime1_iws = 0;
}
}
}
else
{
if (! _NTPGetTime1_hfp)
{
_tempVariable_unsignedlong = 30000;
}
else
{
_tempVariable_unsignedlong = 1800000;
}
if (_isTimer(_NTPGetTime1_lrt, _tempVariable_unsignedlong))
{
WiFi.hostByName("ntp1.stratum2.ru", _NTPGetTime1_tsip);
memset(_NTPGetTime1_packetBuffer, 0, 48);
_NTPGetTime1_packetBuffer[0] = 0b11100011;
_NTPGetTime1_packetBuffer[1] = 0;
_NTPGetTime1_packetBuffer[2] = 6;
_NTPGetTime1_packetBuffer[3] = 0xEC;
_NTPGetTime1_packetBuffer[12] = 49;
_NTPGetTime1_packetBuffer[13] = 0x4E;
_NTPGetTime1_packetBuffer[14] = 49;
_NTPGetTime1_packetBuffer[15] = 52;
_ntpUdpServer.beginPacket(_NTPGetTime1_t sip, 123);
_ntpUdpServer.write(_NTPGetTime1_packetB uffer, 48);
_ntpUdpServer.endPacket();
_NTPGetTime1_iws = 1;
_NTPGetTime1_lrt = millis();
}
}
}
}
if(_isTimer(_dht1Tti, 5000))
{
_dht1_humOut = _dht1.getHumidity();
_dht1_tempOut = _dht1.getTemperature();
_dht1Tti = millis();
}
RemoteXY.t_1 = _dht1_tempOut;
RemoteXY.h_1 = _dht1_humOut;
RemoteXY.ppm = _gtv1;
if ((((RemoteXY.switch_2)) || ((_gtv1) < (1500.00))))
{
if (_trgrt1I)
{
_trgrt1 = 0;
}
else
{
_trgrt1 = 1;
_trgrt1I = 1;
}
}
else
{
_trgrt1 = 0;
_trgrt1I = 0;
}
;
digitalWrite(12, _trgrt1);
if((RemoteXY.switch_1))
{
_tim2O = 1;
_tim2I = 1;
}
else
{
if(_tim2I)
{
_tim2I = 0;
_tim2P = millis();
}
else
{
if (_tim2O)
{
if (_isTimer(_tim2P, 300000)) _tim2O = 0;
}
}
}
if ((((((0) >= (0)) && (((hour())) < (17)))) || (_tim2O)))
{
if (_trgrt2I)
{
_trgrt2 = 0;
}
else
{
_trgrt2 = 1;
_trgrt2I = 1;
}
}
else
{
_trgrt2 = 0;
_trgrt2I = 0;
}
;
digitalWrite(14, _trgrt2);
}
bool _isTimer(unsigned long startTime, unsigned long period)
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime)
{
return (currentTime>=(startTime + period));
}
else
{
return (currentTime >=(4294967295-startTime+period));
}
}
int hexStrToInt(String instring)
{
byte len = instring.length();
if (len == 0) return 0;
int result = 0;
for (byte i = 0; i < 8; i++) // только первые 8 цыфар влезуть в uint32
{
char ch = instring[i];
if (ch == 0) break;
result <<= 4;
if (isdigit(ch))
result = result | (ch - '0');
else result = result | (ch - 'A' + 10);
}
return result;
}
void _esp8266WifiModuleClientReconnect()
{
if(_checkMacAddres(ESPControllerWifiClie nt_mac))
{
wifi_set_macaddr(0, const_cast<uint8*>(ESPControllerWifiClie nt_mac));
}
if(ESPControllerWifiClient_isDHCP)
{
WiFi.config(0U, 0U, 0U, 0U, 0U);
}
else
{
WiFi.config(ESPControllerWifiClient_ip, ESPControllerWifiClient_gateway, ESPControllerWifiClient_subnet, ESPControllerWifiClient_dns , ESPControllerWifiClient_dns);
}
WiFi.begin(ESPControllerWifiClient_SSID, ESPControllerWifiClient_password);
}
bool _checkMacAddres(byte array[])
{
bool result = 0;
for (byte i = 0; i < 6; i++)
{
if (array[i] == 255)
{
return 0;
}
if (array[i] > 0)
{
result = 1;
}
}
return result;
}
void _parseMacAddressString(String value, byte array[])
{
int index;
byte buffer[6] = {255, 255, 255, 255, 255, 255};
byte raz = 0;
String tempString;
while ((value.length() > 0) && (raz <= 6))
{
index = value.indexOf(":");
if (index == -1)
{
tempString = value;
value = "";
}
else
{
tempString = value.substring(0, index);
value = value.substring(index + 1);
}
buffer[raz] = byte(hexStrToInt(tempString));
raz++;
}
if (_checkMacAddres(buffer))
{
for (byte i = 0; i < 6; i++)
{
array[i] = buffer[i];
}
}
}
bool _compareMacAddreses(byte array1[], byte array2[])
{
for (byte i = 0; i < 6; i++)
{
if (array1[i] != array2[i])
{
return 0;
}
}
return 1;
}
bool _compareMacAddresWithString(byte array[], String value)
{
byte buffer[6] = {255, 255, 255, 255, 255, 255};
_parseMacAddressString(value, buffer);
return _compareMacAddreses(array, buffer);
}
bool _checkMacAddresString(String value)
{
byte buffer[6] = {255, 255, 255, 255, 255, 255};
_parseMacAddressString(value, buffer);
return _checkMacAddres(buffer);
}
String _macAddresToString(byte array[])
{
String result = "";
String temp ="";
for (byte i = 0; i < 6; i++)
{
temp=String(array[i],HEX);
if (temp.length() < 2)
{
temp = String("0") + temp;
}
result = result + temp;
if (i < 5)
{
result = result + String(":");
}
}
result.toUpperCase();
return result;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2021, 04:45
Помогаю со студенческими работами здесь

Ошибка преобразования float в float*
Выдает ошибку невозможности преобразование /main.cpp/ #include &lt;iostream&gt; #include &quot;gkh.h&quot; int main(int argc, char *argv) { ...

ошибка "invalid operands to binary expression ('float*' and 'float')"
начала писать программу и запоролась на первой же функции double atmosphere(double h_geo) { const int Rzs = 6356767; ...

Чем отличаются float преобразования (float)var от float(var)
Здравствуйте! Подскажите, чем отличается (float)var от float(var)

Error C2664: 'sprintf' : cannot convert parameter 2 from 'float' to 'const char *'
Читаю в Интернете пишут о том что нужно явное преобразование типов, подскажите, пжл, как его произвести. PS: если оно тут...

invalid types `float[float]' for array subscript
void SEARCH(float vol, float price, int i) { if (i&gt;N) { if(price&gt;maxprice) { ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru