Quantcast
Channel: Active questions tagged gcc - Stack Overflow
Viewing all articles
Browse latest Browse all 22122

Switch Statement Error **control reaches end of non-void function [-Werror=return-type]**

$
0
0

I've spent a lot of time trying to figure out the reasons why this is not working correctly, but I feel like I've covered every case I need. I can't seem to find the "control reaches end of non-void function" error. Here is my switch statement:

static unsigned int sizeIndex(size_t size) {
    int determine_size = 0;
    switch(determine_size) {
        case 0:
            if (size < 16) {
                return 0;
            }
        case 1:
            if ((size >= 16) && (size < 32)) {
                return 1;
            }
        case 2:
            if ((size >= 32) && (size < 64)) {
                return 2;
            }
        case 3:
            if ((size >= 64) && (size < 128) ) {
                return 3;
            }
        case 4:
            if ((size >= 128) && (size < 256)) {
                return 4;
            }
        case 5:
            if ((size >= 256) && (size < 512)) {
                return 5;
            }
        case 6:
            if ((size >= 512) && (size < 1024)) {
                return 6;
            }
        case 7:
            if ((size >= 1024) && (size < 2048)) {
                return 7;
            }
        case 8:
            if ((size >= 2048) && (size < 4096)) {
                return 8;
            }
        case 9:
            if ((size >= 4096) && (size < 8192)) {
                return 9;
            }
        case 10:
            if ((size >= 8192) && (size < 16384)) {
                return 10;
            }
        case 11: 
            if ((size >= 16384) && (size < 32768)) {
                return 11;
            }
        case 12:
            if (size >= 32768) {
                return 12;
            }
    }
}

Can anyone see a reason why this would throw a " control reaches end of non-void function [-Werror=return-type]" error?

Thanks!


Viewing all articles
Browse latest Browse all 22122

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>