473,414 Members | 1,781 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,414 software developers and data experts.

Constructor Overloading Bug?

Hi,

does anybody know, why the second contructor isn't called in this example?
Are you able to reproduce this bug?
Thanks

Klaus

Public Class Something

Shared Sub Main()
Dim test1 As New Something("C"c, 1)
Dim test2 As New Something("String", 2)
End Sub

Sub New(ByVal aChar As Char, ByVal aByte As Byte)
Console.WriteLine("Char/Byte-Konstruktor")
End Sub

Sub New(ByVal aString As String, ByVal anInteger As Integer)
Console.WriteLine("String/Integer-Konstruktor")
End Sub

End Class
Nov 20 '05 #1
14 1713
....actually, it is the first constructor, that is not being called...

Klaus

"Klaus Löffelmann" <fo***********@loeffelmann.de> schrieb im Newsbeitrag
news:40***********************@news.freenet.de...
Hi,

does anybody know, why the second contructor isn't called in this example?
Are you able to reproduce this bug?
Thanks

Klaus

Public Class Something

Shared Sub Main()
Dim test1 As New Something("C"c, 1)
Dim test2 As New Something("String", 2)
End Sub

Sub New(ByVal aChar As Char, ByVal aByte As Byte)
Console.WriteLine("Char/Byte-Konstruktor")
End Sub

Sub New(ByVal aString As String, ByVal anInteger As Integer)
Console.WriteLine("String/Integer-Konstruktor")
End Sub

End Class

Nov 20 '05 #2
Klaus,
does anybody know, why the second contructor isn't called in this example?
Are you able to reproduce this bug?

If you force the constant 1 to be a Byte (it's an Integer by default),
the first constructor will be called.

Dim test1 As New Something("C"c, CByte(1))

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Nov 20 '05 #3
Cor
Hi Klaus,

I do not know what is it theoretical, but this he does well,
Dim test1 As New Something("C"c, CByte(1))

Just if it first trys to resolve to find if it is an integer and than
threats the character as a one position string.

I hope this helps something.

Cor
does anybody know, why the second contructor isn't called in this example?
Are you able to reproduce this bug?
Thanks

Nov 20 '05 #4
Mattias,

why do I have to force the second parameter to be a byte, when it's already
clear that I'm pushing a char, to begin with. I mean, if you declare a
"normal" procedure to take a char and you then try to give it a string, the
compiler is complaining. So why can't he then tell the difference in this
example?

Aside of that: I tried what you suggested in my project already (this is
just an excerpt), and of course converted the second parameter to a byte. It
called the string/Integer constructor, anyway. Only after I changed the
order, I got it to work. But the curious thing is: When I rechanged the
order, it suddenly could recognize the byte as a byte, and now I can't
reproduce the behaviour anymore.

However, the behaviour described in this exceprt is weird enough, isn't it?

Klaus

"Mattias Sjögren" <ma********************@mvps.org> schrieb im Newsbeitrag
news:er**************@TK2MSFTNGP12.phx.gbl...
Klaus,
does anybody know, why the second contructor isn't called in this example?Are you able to reproduce this bug?

If you force the constant 1 to be a Byte (it's an Integer by default),
the first constructor will be called.

Dim test1 As New Something("C"c, CByte(1))

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.

Nov 20 '05 #5
Klaus,
Dim test1 As New Something("C"c, 1) 1 is an Integer literal, Char can be upgraded to a string, but an Integer
cannot be downgraded to a Byte, hence the second constructor is called.

I don't see how to specify a Byte literal itself, so try:
Dim test1 As New Something("C"c, CByte(1))
Alternatively add a third constructor (or change the first constructor),
such as: Sub New(ByVal aChar As Char, ByVal anInteger As Integer)
Console.WriteLine("Char/Integer-Konstruktor")
End Sub
I would probably simply define two constructors Char/Integer &
String/Integer constructors to "avoid" the problem...

Hope this helps
Jay

"Klaus Löffelmann" <fo***********@loeffelmann.de> wrote in message
news:40***********************@news.freenet.de... Hi,

does anybody know, why the second contructor isn't called in this example?
Are you able to reproduce this bug?
Thanks

Klaus

Public Class Something

Shared Sub Main()
Dim test1 As New Something("C"c, 1)
Dim test2 As New Something("String", 2)
End Sub

Sub New(ByVal aChar As Char, ByVal aByte As Byte)
Console.WriteLine("Char/Byte-Konstruktor")
End Sub

Sub New(ByVal aString As String, ByVal anInteger As Integer)
Console.WriteLine("String/Integer-Konstruktor")
End Sub

End Class

Nov 20 '05 #6
Klaus,
What do you mean "changed the order"?

Do you mean you made the String/Integer come before the Char/Byte in the
source?

Or that you had Integer/String & Byte/Char constructors?

As I stated in my other post, the 1 is being treated as an Integer Literal
first, VB.NET knows it can convert the Char to a string, hence it is picking
the String/Integer overload!

Is this a bug, possible! is this "by design", possible! I know enough about
implementing overloading in a compiler to understand it can be very
difficult to get overload resolution to work.

Here are a number of articles on VB.NET overload method resolution:
http://msdn.microsoft.com/library/de...bspec9_3_4.asp

http://msdn.microsoft.com/library/de...procedures.asp

Mostly this one:
http://msdn.microsoft.com/library/de...resolution.asp

I would say it is seeing the 1 as an integer, and according to rule 2 on the
last link is throwing away the Char/Byte overload.

Hope this helps
Jay

"Klaus Löffelmann" <fo***********@loeffelmann.de> wrote in message
news:40***********************@news.freenet.de...
Mattias,

why do I have to force the second parameter to be a byte, when it's already clear that I'm pushing a char, to begin with. I mean, if you declare a
"normal" procedure to take a char and you then try to give it a string, the compiler is complaining. So why can't he then tell the difference in this
example?

Aside of that: I tried what you suggested in my project already (this is
just an excerpt), and of course converted the second parameter to a byte. It called the string/Integer constructor, anyway. Only after I changed the
order, I got it to work. But the curious thing is: When I rechanged the
order, it suddenly could recognize the byte as a byte, and now I can't
reproduce the behaviour anymore.

However, the behaviour described in this exceprt is weird enough, isn't it?
Klaus

"Mattias Sjögren" <ma********************@mvps.org> schrieb im Newsbeitrag
news:er**************@TK2MSFTNGP12.phx.gbl...
Klaus,
does anybody know, why the second contructor isn't called in this example?Are you able to reproduce this bug?

If you force the constant 1 to be a Byte (it's an Integer by default),
the first constructor will be called.

Dim test1 As New Something("C"c, CByte(1))

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.


Nov 20 '05 #7
Nope,

I was wrong. Chars get promoted to Strings, when VB feels to do so. That was
my mistake.
But consistently, overloaded procedures only differing in char and string
shouldn't be allowed then, anyway.

Thanks, everybody

Klaus
"Klaus Löffelmann" <fo***********@loeffelmann.de> schrieb im Newsbeitrag
news:40***********************@news.freenet.de...
Mattias,

why do I have to force the second parameter to be a byte, when it's already clear that I'm pushing a char, to begin with. I mean, if you declare a
"normal" procedure to take a char and you then try to give it a string, the compiler is complaining. So why can't he then tell the difference in this
example?

Aside of that: I tried what you suggested in my project already (this is
just an excerpt), and of course converted the second parameter to a byte. It called the string/Integer constructor, anyway. Only after I changed the
order, I got it to work. But the curious thing is: When I rechanged the
order, it suddenly could recognize the byte as a byte, and now I can't
reproduce the behaviour anymore.

However, the behaviour described in this exceprt is weird enough, isn't it?
Klaus

"Mattias Sjögren" <ma********************@mvps.org> schrieb im Newsbeitrag
news:er**************@TK2MSFTNGP12.phx.gbl...
Klaus,
does anybody know, why the second contructor isn't called in this example?Are you able to reproduce this bug?

If you force the constant 1 to be a Byte (it's an Integer by default),
the first constructor will be called.

Dim test1 As New Something("C"c, CByte(1))

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.


Nov 20 '05 #8
Jay,

Sorry, I replied and then read you message - I was out of sync, so to say.
The Integer and Byte stuff was totally clear to me; it's just, as I already
pointed out, that overloading procedures just with a different char and
string parameter shouldn't be allowed then, isn't it?

Thanks for your help,

Klaus

"Jay B. Harlow [MVP - Outlook]" <Ja************@msn.com> schrieb im
Newsbeitrag news:up**************@TK2MSFTNGP11.phx.gbl...
Klaus,
What do you mean "changed the order"?

Do you mean you made the String/Integer come before the Char/Byte in the
source?

Or that you had Integer/String & Byte/Char constructors?

As I stated in my other post, the 1 is being treated as an Integer Literal
first, VB.NET knows it can convert the Char to a string, hence it is picking the String/Integer overload!

Is this a bug, possible! is this "by design", possible! I know enough about implementing overloading in a compiler to understand it can be very
difficult to get overload resolution to work.

Here are a number of articles on VB.NET overload method resolution:
http://msdn.microsoft.com/library/de...bspec9_3_4.asp
http://msdn.microsoft.com/library/de...procedures.asp
Mostly this one:
http://msdn.microsoft.com/library/de...resolution.asp
I would say it is seeing the 1 as an integer, and according to rule 2 on the last link is throwing away the Char/Byte overload.

Hope this helps
Jay

"Klaus Löffelmann" <fo***********@loeffelmann.de> wrote in message
news:40***********************@news.freenet.de...
Mattias,

why do I have to force the second parameter to be a byte, when it's already
clear that I'm pushing a char, to begin with. I mean, if you declare a
"normal" procedure to take a char and you then try to give it a string,

the
compiler is complaining. So why can't he then tell the difference in this example?

Aside of that: I tried what you suggested in my project already (this is
just an excerpt), and of course converted the second parameter to a byte. It
called the string/Integer constructor, anyway. Only after I changed the
order, I got it to work. But the curious thing is: When I rechanged the
order, it suddenly could recognize the byte as a byte, and now I can't
reproduce the behaviour anymore.

However, the behaviour described in this exceprt is weird enough, isn't

it?

Klaus

"Mattias Sjögren" <ma********************@mvps.org> schrieb im

Newsbeitrag news:er**************@TK2MSFTNGP12.phx.gbl...
Klaus,

>does anybody know, why the second contructor isn't called in this

example?
>Are you able to reproduce this bug?
If you force the constant 1 to be a Byte (it's an Integer by default),
the first constructor will be called.

Dim test1 As New Something("C"c, CByte(1))

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.



Nov 20 '05 #9
"Klaus Löffelmann" <fo***********@loeffelmann.de> schrieb
...actually, it is the first constructor, that is not being
called...


Dim test1 As New Something("C"c, 1)

The number 1 is interpreted as integer, not as byte. That's why the second
constructor is called - the Char "C"c is converted to a String because
widening conversions are allowed. Calling the first constructor would be a
narrowing conversion.

Use
Dim test1 As New Something("C"c, CByte(1))
instead.
--
Armin

http://www.plig.net/nnq/nquote.html
http://www.netmeister.org/news/learn2quote.html
Nov 20 '05 #10
Klaus,
I was wrong. Chars get promoted to Strings, when VB feels to do so. That was
my mistake.
But consistently, overloaded procedures only differing in char and string
shouldn't be allowed then, anyway.


Why do you say that? Do you also think that

Sub Foo(i As Integer)

Sub Foo(i As Long)

should be disallowed, just because an Integer can implicitly promoted
to a Long?

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Nov 20 '05 #11

"Mattias Sjögren" <ma********************@mvps.org> schrieb im Newsbeitrag
news:%2***************@tk2msftngp13.phx.gbl...
Klaus,
I was wrong. Chars get promoted to Strings, when VB feels to do so. That wasmy mistake.
But consistently, overloaded procedures only differing in char and string
shouldn't be allowed then, anyway.
Why do you say that? Do you also think that

Sub Foo(i As Integer)

Sub Foo(i As Long)

should be disallowed, just because an Integer can implicitly promoted
to a Long?


Why would I say that? The overloading resolution works fine, here, it's
unquestionable.
I just wanted to say, that to my mind the BCL sets the priority wrong in the
given example. The Integer/byte decision is not clear, granted. But actually
there is no mistake about char. All I said was that I'd rather stick to the
obvious (Char is clear, let's have the second parameter a byte then) than to
just assume (let's consider the second one an integer...) the second *and*
the first parameter (...oh, but then we have to promote the first one to a
string).

Klaus

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.

Nov 20 '05 #12
Klaus,
The Integer and Byte stuff was totally clear to me; it's just, as I already pointed out, that overloading procedures just with a different char and
string parameter shouldn't be allowed then, isn't it? No!

Both Char & String are distinct types so you are allowed to overload them,
as are Byte & Integer you are also allowed to overload them. Look at all the
overloads for System.Console.Write, all "primitive" types are represented!

The "problem" with your example, is that you had a literal 1, which you
assumed was a Byte. The literal 1 is defined to be an Integer. As Armin
stated, narrowing the Integer to a Byte is "not allowed" (possible loss of
precision, the fact its a literal that fits apparently is not a
consideration) so that overload was ruled out. Which leaves the widening to
String to match the second overload the only path available.

You can add a suffix to your literals to explicitly state what the literal
is: Such as:

1S ' a short literal
1I ' an explicit integer literal
1L ' a long literal

1 ' an implicit integer literal

The "problem" that I see there is no suffix for Byte.

1B ' a byte literal?

Unfortunately B is not valid, there is no literal suffix for Byte. However!
Single, Double, and Decimal all have suffixes...

As others have pointed out you can use CByte to get the overload you want to
be selected. Also if you had the 1 in a Byte variable, the correct overload
would be called.

The short of it is: The Char/Byte overload cannot be matched with a literal
(for Byte), as there are no Byte literals!

Hope this helps
Jay
"Klaus Löffelmann" <fo***********@loeffelmann.de> wrote in message
news:40***********************@news.freenet.de... Jay,

Sorry, I replied and then read you message - I was out of sync, so to say.
The Integer and Byte stuff was totally clear to me; it's just, as I already pointed out, that overloading procedures just with a different char and
string parameter shouldn't be allowed then, isn't it?

Thanks for your help,

Klaus

"Jay B. Harlow [MVP - Outlook]" <Ja************@msn.com> schrieb im
Newsbeitrag news:up**************@TK2MSFTNGP11.phx.gbl...
Klaus,
What do you mean "changed the order"?

Do you mean you made the String/Integer come before the Char/Byte in the
source?

Or that you had Integer/String & Byte/Char constructors?

As I stated in my other post, the 1 is being treated as an Integer Literal
first, VB.NET knows it can convert the Char to a string, hence it is

picking
the String/Integer overload!

Is this a bug, possible! is this "by design", possible! I know enough

about
implementing overloading in a compiler to understand it can be very
difficult to get overload resolution to work.

Here are a number of articles on VB.NET overload method resolution:

http://msdn.microsoft.com/library/de...bspec9_3_4.asp

http://msdn.microsoft.com/library/de...procedures.asp

Mostly this one:

http://msdn.microsoft.com/library/de...resolution.asp

I would say it is seeing the 1 as an integer, and according to rule 2 on

the
last link is throwing away the Char/Byte overload.

Hope this helps
Jay

"Klaus Löffelmann" <fo***********@loeffelmann.de> wrote in message
news:40***********************@news.freenet.de...
Mattias,

why do I have to force the second parameter to be a byte, when it's

already
clear that I'm pushing a char, to begin with. I mean, if you declare a
"normal" procedure to take a char and you then try to give it a string,
the
compiler is complaining. So why can't he then tell the difference in this example?

Aside of that: I tried what you suggested in my project already (this
is just an excerpt), and of course converted the second parameter to a

byte.
It
called the string/Integer constructor, anyway. Only after I changed the order, I got it to work. But the curious thing is: When I rechanged the order, it suddenly could recognize the byte as a byte, and now I can't
reproduce the behaviour anymore.

However, the behaviour described in this exceprt is weird enough, isn't it?

Klaus

"Mattias Sjögren" <ma********************@mvps.org> schrieb im

Newsbeitrag news:er**************@TK2MSFTNGP12.phx.gbl...
> Klaus,
>
> >does anybody know, why the second contructor isn't called in this
example?
> >Are you able to reproduce this bug?
>
>
> If you force the constant 1 to be a Byte (it's an Integer by

default), > the first constructor will be called.
>
> Dim test1 As New Something("C"c, CByte(1))
>
>
>
> Mattias
>
> --
> Mattias Sjögren [MVP] mattias @ mvps.org
> http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
> Please reply only to the newsgroup.



Nov 20 '05 #13
Klaus,
I just wanted to say, that to my mind the BCL sets the priority wrong in the given example. The Integer/byte decision is not clear, granted. But actually there is no mistake about char. All I said was that I'd rather stick to the obvious (Char is clear, let's have the second parameter a byte then) than to just assume (let's consider the second one an integer...) the second *and*
the first parameter (...oh, but then we have to promote the first one to a
string). The BCL is not setting the priority here as much as VB.NET itself is setting
the priority here. Based on the rules that I gave links to earlier.

VB.NET is not assuming the second is an integer, the literal 1 is defined to
be an integer. As clearly stated in the following topic:

http://msdn.microsoft.com/library/de...bspec2_4_2.asp

Hence your sample is effectively:

Const c As Char = "C"c
Const i As Integer = 1

Dim test1 As New Something(c, i)

Seeing as the Integer cannot be squeezed into a Byte, while the Char can be
expanded into a String, the String/Integer overload is the one that is used!

Hope this helps
Jay
"Klaus Löffelmann" <fo***********@loeffelmann.de> wrote in message
news:40***********************@news.freenet.de...
"Mattias Sjögren" <ma********************@mvps.org> schrieb im Newsbeitrag
news:%2***************@tk2msftngp13.phx.gbl...
Klaus,
I was wrong. Chars get promoted to Strings, when VB feels to do so. That
was
my mistake.
But consistently, overloaded procedures only differing in char and
stringshouldn't be allowed then, anyway.


Why do you say that? Do you also think that

Sub Foo(i As Integer)

Sub Foo(i As Long)

should be disallowed, just because an Integer can implicitly promoted
to a Long?


Why would I say that? The overloading resolution works fine, here, it's
unquestionable.
I just wanted to say, that to my mind the BCL sets the priority wrong in

the given example. The Integer/byte decision is not clear, granted. But actually there is no mistake about char. All I said was that I'd rather stick to the obvious (Char is clear, let's have the second parameter a byte then) than to just assume (let's consider the second one an integer...) the second *and*
the first parameter (...oh, but then we have to promote the first one to a
string).

Klaus

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.


Nov 20 '05 #14
Yeah, you're right. I learned that the hard way.
It's already 0:00 here in Germany (OK, almost), maybe that's the reason I've
been so stubborn - actually, I'm not like that ;-)

Thanks for your help, I really appreciate it!

Klaus

"Jay B. Harlow [MVP - Outlook]" <Ja************@msn.com> schrieb im
Newsbeitrag news:%2****************@TK2MSFTNGP10.phx.gbl...
Klaus,
I just wanted to say, that to my mind the BCL sets the priority wrong in the
given example. The Integer/byte decision is not clear, granted. But

actually
there is no mistake about char. All I said was that I'd rather stick to

the
obvious (Char is clear, let's have the second parameter a byte then) than to
just assume (let's consider the second one an integer...) the second *and* the first parameter (...oh, but then we have to promote the first one to a string). The BCL is not setting the priority here as much as VB.NET itself is

setting the priority here. Based on the rules that I gave links to earlier.

VB.NET is not assuming the second is an integer, the literal 1 is defined to be an integer. As clearly stated in the following topic:

http://msdn.microsoft.com/library/de...bspec2_4_2.asp
Hence your sample is effectively:

Const c As Char = "C"c
Const i As Integer = 1

Dim test1 As New Something(c, i)

Seeing as the Integer cannot be squeezed into a Byte, while the Char can be expanded into a String, the String/Integer overload is the one that is used!
Hope this helps
Jay
"Klaus Löffelmann" <fo***********@loeffelmann.de> wrote in message
news:40***********************@news.freenet.de...

"Mattias Sjögren" <ma********************@mvps.org> schrieb im Newsbeitrag news:%2***************@tk2msftngp13.phx.gbl...
Klaus,

>I was wrong. Chars get promoted to Strings, when VB feels to do so. That
was
>my mistake.
>But consistently, overloaded procedures only differing in char and
string >shouldn't be allowed then, anyway.

Why do you say that? Do you also think that

Sub Foo(i As Integer)

Sub Foo(i As Long)

should be disallowed, just because an Integer can implicitly promoted
to a Long?


Why would I say that? The overloading resolution works fine, here, it's
unquestionable.
I just wanted to say, that to my mind the BCL sets the priority wrong in

the
given example. The Integer/byte decision is not clear, granted. But

actually
there is no mistake about char. All I said was that I'd rather stick to

the
obvious (Char is clear, let's have the second parameter a byte then)

than to
just assume (let's consider the second one an integer...) the second

*and* the first parameter (...oh, but then we have to promote the first one to a string).

Klaus

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.



Nov 20 '05 #15

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Sergey Krushinsky | last post by:
Hello all, Is there a common way to emulate constructor overloading in Python class? For instanse, I have 3 classes: 1/ Polar - to hold polar coordinates; 2/ Cartesian - to hold cartesian...
26
by: Paul | last post by:
public class A { public A () { // here I would like to call the second version of _ctor, how to accomplish this ? } public A (int a, int b, int c) {
19
by: Martin Oddman | last post by:
Hi, I have a compiling problem. Please take a look at the code below. I have an application that is built upon three tiers: one data tier (Foo.DataManager), one business tier (Foo.Kernel) and...
8
by: Sam Sungshik Kong | last post by:
Hello! I am wondering what's the best practice about setting object data using constructor parameters. Let's say that I am creating a Person class. class Person { private string name;
31
by: Peter E. Granger | last post by:
I'm fairly new to C++ and VC++, but for the most part it seems to do most of the same things that can be done in Java, with just some syntactic and structural adjustments. However, one thing I...
7
by: Doug | last post by:
Hi I am working through a learning module privately where there is discussion about overloading the constructor. Could someone please let me know the benefit or purpose of doing this in a...
7
by: coinjo | last post by:
i have to overload a constructor that takes a constant static public data member of a class... Can anybody tell me its syntax of prototype and implementation?
22
by: clicwar | last post by:
A simple program with operator overloading and copy constructor: #include <iostream> #include <string> using namespace std; class Vector { private: float x,y; public: Vector(float u, float...
12
by: Rahul | last post by:
Hi Everyone, I have the following code and i'm able to invoke the destructor explicitly but not the constructor. and i get a compile time error when i invoke the constructor, why is this so? ...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.