openframeworks / openframeworks/openFrameworks

'size_t' to 'int' conversion in 64Bit builds

Open
#5,868 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
10.4k
Forks
2.6k
Avg merge
1d 21h
Merged PRs (30d)
9

Description

While I tried to clean up some code in one of my projects I found a lot of warnings in 'ofMatrix4x4.h'.
These warnings come up, because a lot of methods in that class use 'std::size_t' as parameter for 'row' and 'col'. This is no warning in 32Bit builds, because they are both (at least) 32Bit long but it generates a warning in 64Bit, where 'size_t' has to be (at least) 64Bit long.
Why are these parameters 'size_t' when, most of the time, they only specify values from 0 to 4?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in ofMatrix4x4.h by reviewing the methods whose row and col parameters use std::size_t, then inspect the related call sites for the reported 64-bit conversion warnings. Determine the intended parameter type for matrix indices and verify that the warnings are resolved in 64-bit builds without breaking existing callers.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.