x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

'TSubobjectPtr::operator =' : cannot access private member declared in class 'TSubobjectPtr'

'My Code:

 UCLASS() 
 class AmyCharacter : public ACharacter
 {
     GENERATED_UCLASS_BODY()
       ........
 }
 
 AmyCharacter::AmyCharacter(const class FPostConstructInitializeProperties& PCIP)
     : Super(PCIP)
 {
    Mesh = NULL;//<------ that's the line 43 from myCharacter.cpp
       ........
 }

It produce these 2 errors:

Error 1 error C2248: 'TSubobjectPtr::operator =' : cannot access private member declared in class 'TSubobjectPtr' D:\Unreal > Projects\FPSProject\Source\FPSProject\myCharacter.cpp 43

Error 2 error C2248: 'TSubobjectPtr::TSubobjectPtr' : cannot access private member declared in class 'TSubobjectPtr' D:\Unreal > Projects\FPSProject\Source\FPSProject\myCharacter.cpp 43

So how can i assign a new value to Mesh field ?

Note: mesh is inherited from Runtime\Engine\Classes\GameFramework\Character.h

 class ENGINE_API ACharacter : public APawn
 {
     GENERATED_UCLASS_BODY()
 
         UPROPERTY(Category = Character, VisibleAnywhere, BlueprintReadOnly)
         TSubobjectPtr<class USkeletalMeshComponent> Mesh;
 .......................
 }


Product Version: Not Selected
Tags:
more ▼

asked Aug 11 '14 at 01:25 PM in C++ Programming

avatar image

Muzaheed
245 18 24 31

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

4 answers: sort voted first

If you just want to clear it you could do

 Mesh.Reset();
more ▼

answered Aug 11 '14 at 02:05 PM

avatar image

James Ordner
382 16 17 25

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

yup.i can do anything but assigning any other value.

For example,this also failed with same error:

  FString testSong = TEXT("SkeletalMesh'/Game/GenericMale.GenericMale'");
  static ConstructorHelpers::FObjectFinder myAssetForTP(*testSong);
  if (myAssetForTP.Succeeded())
  Mesh = (USkeletalMeshComponent*)myAssetForTP.Object;


any help with assignment method?

more ▼

answered Aug 11 '14 at 03:55 PM

avatar image

Muzaheed
245 18 24 31

avatar image James Ordner Aug 11 '14 at 04:40 PM

Try

 Mesh->SetSkeletalMesh()
(comments are locked)
10|2000 characters needed characters left
Viewable by all users

yup.that is what i was intended to do. and it worked. thanks. it will save lots of additional tasks which was instructed in c++ fps tutorial. +it also solved my another issue: https://answers.unrealengine.com/questions/81518/how-to-change-mesh-value-of-a-character.html

more ▼

answered Aug 11 '14 at 05:51 PM

avatar image

Muzaheed
245 18 24 31

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

I always use the following trick. Let's suppose that we have troubling Header.h file with method in private/protected field. I use:

 #define class struct
 #define private public
 #define protected public
 #include "Header.h"
 #undef class
 #undef private
 #undef protected
more ▼

answered Nov 01 '16 at 10:24 PM

avatar image

mortmaire
142 12 10 22

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question